Automotive radar device

ABSTRACT

An automotive radar using combinations of the techniques of alternating transmit-receive bursts of digitally frequency modulated millimeter wave carriers; sparse MIMO antenna arrays with sidelobe-suppressive coarse and fine beamforming; frequency hopping; range-walking-compensated Doppler analysis and successive, and subtractive target detection in signal strength order.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application claims the filing benefits of U.S. provisional application, Ser. No. 63/140,567, filed Jan. 22, 2021, which is hereby incorporated by reference herein in its entirety.

FIELD OF THE INVENTION

The present invention is directed to radar systems, and more particularly to radar systems for vehicles and robotics.

BACKGROUND OF THE INVENTION

The use of radar to determine range, velocity, and angle (elevation or azimuth or both) of objects in an environment is important in a number of applications including automotive radar and gesture detection. Radar systems typically transmit a radio frequency (RF) signal and listen for the reflection of the radio signal from objects in the environment. The FCC and other International Frequency Allocation Organizations have opened up frequency bands in the millimeter wave region for consumer radar-based devices. For example, frequencies in the 70-80 GHz region may be used for medium-range automotive driver-assistance radar and frequencies in the 61-61.5-GHz region may be used for short-range indoor sensors such as motion sensors or people counters and security devices.

A radar system estimates the location of objects, also called targets, in the environment by correlating the transmitted radio signal with delayed echoes of the transmitted signal reflected from said objects and received at the radar receivers. A radar system can also estimate the relative velocity of the target by the Doppler shift of its echoes. A radar system with multiple transmitters and multiple receivers can also determine the angular position of a target. Depending on antenna scanning and/or the number of antenna/receiver channels and their geometry, different angles (e.g., azimuth or elevation) can be determined.

Radars as mentioned above may use any one of a number of transmit waveforms and transmit-receive formats. For example, FMCW chirp radars may be used where the transmitter transmits a swept frequency and the receiver simultaneously receives a frequency different than the momentary transmit frequency according to the echo delay. The beat frequency between the received signal and the transmit signal then yields the delay of the target echo.

Another technique is digital FMCW or PMCW, in which a carrier is frequency- (or phase-)modulated with a digital code using, for example, Gaussian Minimum Shift Keying (GMSK) or Offset Quadrature Phase Shift Keying (OQPSK). The received echoes are correlated with the code to determine the echo amplitudes at different delays. Digital FMCW radar lends itself to be constructed in a MIMO variant in which multiple transmitters transmitting multiple codes are received by multiple receivers that each correlate with all codes. The advantage of the MIMO digital FMCW radar is that the angular resolution is that of a virtual antenna array having an equivalent number of elements equal to the product of the number of transmitters and the number of receivers, termed a virtual antenna array, with associated virtual receivers (VRXs).

Digital FMCW MIMO radar techniques are described in commonly owned U.S. Pat. Nos. 9,989,627; 9,945,935; 9,846,228; and 9,791,551, which are all hereby incorporated by reference herein in their entireties.

In the digital FMCW case, the receiver operates during the transmit time and requires sophisticated means to null-out own transmitter interference. Self-interference or spillover cancellation increases in complexity when the number of MIMO transmitters and receivers increases; therefore, methods are sought to reduce both complexity and power consumption, for which Pulse-Digital MIMO Radar may be used, wherein the transmitter transmits for a short time to fill the go-return pipe for the longest range, followed by a receive period to receive the echoes. The alternating transmit/receive format then repeats.

In both FMCW and Pulse FMCW, the range resolution is related to the instantaneous bandwidth and the angular resolution is related to the size of the antenna array. If the antenna array achieves high angular resolution by means of large aperture using virtual antenna element spacings of more than a quarter wavelength (or half wavelength, depending on the convention), grating lobes appear, which can be mistaken for false targets. There is therefore a need to improve both range and angular resolution over the limits set by prior art technology while avoiding confusion by grating lobes.

There is also a need to consider potential mutual interference between multiple radars operating independently in the same frequency band within range of each other and to devise techniques for mitigation of mutual interference between different, non-collaborating radars.

SUMMARY OF THE INVENTION

An exemplary automotive radar comprises an array of transmit antennas and receive antennas connected to a signal processing circuit. In one implementation the antenna arrays may be linear (1-dimensional) arrays to provide radar target resolution only in Azimuth or Elevation while in other implementations the antenna arrays may be two-dimensional and provide target resolution in both Azimuth and Elevation simultaneously.

An exemplary radar device embodiment includes any combination of advanced features including use of sparse arrays with novel, sidelobe-reduction beamforming techniques; dual polarization for interference mitigation; transmit or receiver null-steering, or both, to improve mutual interference and frequency hopping for increasing range resolution and improved mutual interference characteristics by clash detection.

Each transmit array antenna is connected to an associated transmitter and each receive array antenna is connected to an associated receiver, each receiver comprising low-noise amplification, down-conversion to the quadrature (I,Q) baseband using I-Q mixers driven by a common local oscillator, baseband filtering as necessary, programmable gain adjustment as necessary and Digital to Analog (D-to-A) conversion at a sampling rate adequate to capture all spectral components of interest. All of the above signal processing elements are part of the signal processing circuit which may comprise one or more integrated circuit chips.

After D-to-A conversion, each receiver's processing correlates its received signal samples with digital values representing each transmitter's modulation to produce a number of correlations corresponding to different echo delays, there being one such set for each receiver-transmitter combination, in total a number of sets of range correlations equal to the product of the number of transmit antennas with the number of receive antennas and the number of transmitter bursts correlated at successive times. Like correlations obtained at successive times are combined using all postulates of Doppler shift to produce complex values in range-Doppler bins for each VRX. Beamforming over the VRXs then takes place for each range-Doppler bin.

A transmit signal echoed from a reflecting object and received and correlated by a receiver results in a digitized radar echo signal that is the same as would have been produced by a transmit and receive antenna co-located at coordinates which are the mean of the actual transmit and receive antenna coordinates. Such signals, called virtual receiver (VRX) signals, are further combined according to delay and Doppler shift to resolve targets in the four dimensions of azimuth, elevation, range and Doppler.

When the convention for VRX antenna positions is that they are deemed to be located at the mean of the associated physical transmitter and receiver antenna coordinates, a spacing of VRX antennas equal to a quarter wavelength produces a beam pattern which can be scanned over +/−90 degrees, that is, a hemisphere, without grating lobes appearing. An alternative convention is that the VRX antennas are deemed to be located at the sum of the associated TX and RX coordinates, in which case the grating lobe-free spacing is a half wavelength.

When a grating-lobe-free antenna spacing is used, the total antenna aperture is limited by the number of VRXs, that is, by the total acceptable radar complexity. For a given maximum complexity, therefore, the angular resolution can be increased by using wider VRX antenna spacings and tolerating grating lobes. Special techniques are described herein to render grating lobes benign in order to facilitate the use of wider VRX spacings for greater angular resolution.

Range resolution is limited by the bandwidth used. The instantaneous bandwidth is limited by the ability of A-to-D converters to digitize the receiver output. Herein, techniques using burst-to-burst frequency hopping are described to improve the range resolution by combining correlations from a number of instantaneously narrow-band signals that can be digitized by available A-to-D technology, thereby achieving a range resolution commensurate with the whole frequency-hop span.

To improve the angular resolution for a given processing complexity according to one aspect of this invention, the transmit and receive antenna arrays are configured such that the corresponding VRX coordinates are spread in the Azimuthal and Elevation directions in order to mimic a much larger antenna aperture, and the spreading is deliberately irregular in order to minimize sidelobes and grating lobes. Co-filed and commonly owned patent application Ser. No. 17/582,437, entitled “Sparse Antenna Arrays for Automotive Radar,” describes how sparse arrays are constructed to give minimum sidelobe levels, and is hereby incorporated by reference herein in its entirety.

The VRX coordinates may lie on regularly spaced grid points such as a quarter-wave-spaced grid, but not all grid points are necessarily populated with an associated VRX. Such an array is called a “sparse array” and the following steps may be used to reduce and tolerate the array pattern sidelobes that are produced by a sparse array:

(1). Differential beamforming may be used wherein, after resolving VRX signals by range and Doppler shift, products of signals corresponding to the same range and Doppler shift from different VRXs are multiplied (one being complex-conjugated) to form Dyads, also called differential virtual receiver signals (DVRX signals), and the Dyads are weighted and combined using different direction-related phase shifts to produce a set of beam signals. Targets appear as strong beam signals at particular azimuths and elevations when VRX signals resolved into the correct range and Doppler bins for that target are used to form the DVRX signals.

The product of one VRX signal with the conjugate of another gives a Dyad containing a target echo phase related to the difference in the coordinates of the two VRXs. Such a signal can be regarded as having arisen from a differential virtual receiver or DVRX with the difference coordinates. The exemplary antenna array structure used for differential beamforming ensures that DVRX coordinates are as far as possible unique with as few as possible coincidences and well spread to give a desired differential antenna pattern and angular resolution. In differential beamforming, the loss which would normally be expected in multiplying two noisy signals together is compensated by the fact that the number of DVRXs combined is nearly equal to the square of the number of VRXs. In an exemplary system of 16 transmitters and 16 receivers, the number of VRXs is 256 and the number DVRXs may be a little less than 256² or 65,536.

(2). Differential beamforming as described in (1) is equivalent to and may be performed by N instances of VRX beamforming where N is the number of VRXs and where the VRX signals are weighted by a different weighting function for each of the N VRX beamformings, the moduli-squared of the results of the different VRX beamformings then being further weighted and combined to produce a differentially beamformed result. Note that the magnitude of the further weightings can be absorbed into the different weighting functions, but not their signs, which would be lost in the modulus-squaring operation.

According to an aspect of the exemplary differential beamforming embodiment, the different weighting functions may be Eigenvectors of the N×N matrix which contains the weightings of the Dyads and the further weightings are the associated Eigenvalues. In another aspect of the present embodiment, recognizing that the virtual location of a DVRX corresponding to the product of a VRX signal with itself conjugated is (0,0) and that that location is populated N times, those Dyad weights may be reduced by the factor N in the matrix to give equal weighting to DVRX locations. More generally, if any DVRX location is repeated, the corresponding Dyad weights in the N×N matrix may be reduced by dividing by the number of repeats to produce uniform weighting of each DVRX location. Other than uniform location weighting may also be contrived if beneficial in reducing sidelobes. The net result is that the N×N matrix so contrived will have distinct Eigenvectors and Eigenvalues that can be precomputed and embedded in the design of an exemplary embodiment.

(3). Simplified differential beamforming may be performed, which is a version of (2) above in which fewer than N, for example two, VRX beamformings are performed using different VRX signal weighting functions and the results combined. In the reduced case of only two VRX beamformings using weighting functions denoted herein by Gplus and Gminus, the weighting functions may be scaled so that the moduli-squared or just the moduli of their results can be directly subtracted with no further weighting. Note that according to another aspect of the present embodiment, it was found that subtracting the moduli of the Gplus-weighted VRX beamforming and the moduli of the Gminus-weighted VRX beamforming can produce lower worst-case sidelobes than subtracting the moduli-squared, because the difference in the moduli is converted to decibels by a 20 Log₁₀(x) operation in contrast to the 10 Log₁₀(x) function for the difference in the moduli squared. In another exemplary variant, two or more beamformings are performed using different weighting functions and the minimum of corresponding beams taken. The weighting functions are chosen to give identical main lobe gain but produce different lobes, and the minimum sidelobe level for each direction is thus obtained.

(4). In (3) above, the weighting functions Gplus and Gminus are no longer necessarily constrained to be the Eigenvectors of any matrix, but may be optimized by any suitable optimization technique such as Monte Carlo, or the method of steepest descent using gradients, to produce the most desirable antenna pattern, typically that with the lowest worst case sidelobes.

The resolution of VRX signals into different range and Doppler bins is carried out before beamforming, and then any of the above beamforming methods may be applied to any or all range-Doppler bins to resolve targets in each range-Doppler bin by boresight.

Resolution by range is performed by correlating a segment of received VRX signal samples with the corresponding segment of transmitted signal samples to obtain a complex number for each delay between the transmit samples and the received samples. The transmitted signal is modulated with binary bits using a form of OQPSK, preferably raised cosine binary FM as described in commonly owned U.S. Pat. No. 10,191,142 and entitled “Digital frequency modulated continuous wave radar using handcrafted constant envelope modulation,” which is hereby incorporated by reference herein in its entirety.

Complex correlation results are then obtained for different numbers of bits delay between the transmitted signal samples and the received VRX signal samples, and possibly for fractional bit delays by correlating with several sample-shifts per bit.

The Doppler frequency resolution is of the order of the reciprocal of the total time over which such segments are collected, called the scan time. Doppler analysis may comprise performing a Fourier transform, such as an FFT, across a set of like-range correlation results calculated from bursts transmitted at successive times.

Doppler shift is caused by target velocity (×2) which equals rate of change of go-and-return range. When the Doppler frequency is high due to a high target velocity relative to the radar, a target echo may not be in the same range bin over the entire time period over which burst segments are collected for Doppler analysis, a phenomenon called “range walking” which blurs both Doppler and range resolution. A special Doppler analysis is described in which the range-walking is predicted based on each Doppler shift being analyzed, so that Doppler analysis takes place over a sliding set of range bins to compensate for range walking for each Doppler shift independently. The sliding between range bins is preferably done by interpolating between adjacent range bins to obtain smooth sliding, or alternatively by jumping to an adjacent bin when it is predicted to have become the principal one that would contain the target echo. The need for compensation for range-walking during Doppler analysis may be reduced by systematically phase-retarding the frequency reference used for transmit signal generation (for a forward looking radar with positive forward velocity) and phase-advancing the frequency reference used for receive local oscillator generation and sampling. This is termed “removing eigenvelocity” such that the Doppler shift depends only on the target velocity and not the target-to-radar relative velocity. Thus, a speedometer signal may be input to the radar to facilitate such eigenvelocity compensation.

Because range resolution is related to bandwidth, the resolution may be improved by causing the signal to probe a wide range of frequencies during each scan time. This may be done by frequency hopping between different transmit/receive periods. Frequency hopping is carried out either by digitally applying phase ramps to the transmit signal, or by taking a time-out to change the synthesizer frequency and then resuming the alternating transmit/receive format, or a combination of both. When frequency shifts are performed by digital phase ramping, the transmit and receive sample rates are high enough to represent both the bit modulation and the frequency shift, so there are many samples per bit. Range correlations are performed for each transmit/receive period in sample shifts of this elevated sample rate, thus obtaining range correlations in finer delay steps than one bit and combined from one Tx/Rx period to another so as to obtain a range resolution inversely proportional to the total bandwidth over which hopping occurs. Moreover, a Doppler resolution is obtained in frequency steps that are the reciprocal of the total time spanned by the frequency hop pattern, called the scan time.

Transmit bursts are filled by modulating the RF carrier with a digital code. The code should be such as to minimize cross-correlation between different range correlations and between different transmitter codes. It is described how this achieved by selecting bits from an M-sequence to fill the bursts with code modulation. The bits may be selected from time-offset parts of the M-sequence according to the frequency hop deviation from a mean frequency, irrespective of the order in which the hops are transmitted. Different transmitters use the same M-sequence with greater time offsets so that no two range correlations for any transmitter are performed with the same shift of the M-sequence. Such linking of code-offset to frequency offset is found to reduce unwanted range-to-range or Doppler-to-Doppler cross correlations.

When hopping is carried out by a combination of digital phase ramping for smaller frequency offsets combined with synthesizer side-stepping for larger offsets, the sample rate increase is only commensurate with the instantaneous transmitted bandwidth, that is with the digital ramping part of the frequency hopping. However, to get the advantage of the full hop-bandwidth, samples are required at a rate commensurate with the full bandwidth. In this case, the receive sample stream may be upsampled using FFT interpolation as part of the range correlation operation, which uses cyclic convolution. Finally, having obtained a set of range correlations and carried out a range-walking-compensated Doppler analysis to obtain a set of VRX signals per range and per Doppler, beamforming is carried out over the set of VRX signals obtained for each range-Doppler combination to determine the strongest signal azimuth and elevation using coarse beamforming, and further refines the angular position of the strongest signal so-determined by examining a region around the coarse position using fine-resolution beamforming.

Using the refined angular position and the determined signal complex amplitude, the illumination of the VRXs that gave rise to that target signal is determined and subtracted, where prestored calibration values for the phase and amplitude mismatch of the VRXs in different directions may be employed, as well as potential modeling of the effects of null-steering. The calibration-corrected VRX values for the strongest target are subtracted from the actual VRX values and thus remove both the strongest signal and any sidelobes thereof. Beamforming is then repeated on the residual VRX signals to determine the second strongest signal, and so forth to discover all targets of interest for the given range/Doppler bin. The processing of a given range-Doppler bin is terminated by a STOP criterion which determines when residuals of subtraction no longer reliably indicate the presence of even weaker targets than those already found. The processing is repeated in principle for all range/Doppler combinations, but processing may be curtailed by sparsification, which can use the history of previous scans to indicate where targets of interest lie and do not lie. Successive subtraction is also curtailed as mentioned above by implementing a stop test to determine if residual signals are real, noise, or artefacts.

All of the above processing may be carried out using dual-polarization receive antennas and duplicated processing chains up to a point in the chain where interference can be discriminated from wanted signals by polarization and partly or completely eliminated thereby. The wanted signal polarization is assumed to be the same as that transmitted (or opposite hand, if circular). Typically, 45-degree linear polarization has the advantage that an oncoming interfering radar of the same type will be cross-polarized. Circular polarization has the advantage that an oncoming radar of the same type will have the same polarization as that transmitted while wanted target echoes have the opposite polarization to that transmitted. Since polarization is not accurately maintained when reflected from an irregular object, there is still a gain to be had in adaptive polarization processing.

A dual-polarization receive antenna can comprise co-located crossed dipoles. Alternatively, the crossed dipoles can be in offset locations, thus giving rise to different VRX arrays for the two polarizations. The advantage of that is that the polarization of grating lobes is different than the polarization of the main lobe, thus providing extra grating lobe suppression.

To improve the mutual interference characteristics between different radars in different vehicles beyond that achievable by different codes, polarizations and frequency hop patterns, the radar transmit antennas may be driven in such a way as to produce zero illumination (nulls) in specified directions. Since the transmitters do not transmit the same code, a novel method to achieve such nulls is described whereby the signal that would be received at a specified position is calculated and then the negative of it is transmitted in a narrow beam focused on that position using the same transmitters and antennas. The receive antennas can also be phased so as to produce nulls in specified directions. The effect of transmit or receiver nulling or both is modelled in the signal processing when a detected target signal is subtracted from the receive signals to reveal a weaker target. The position distortion of a target lying near a null may also be modelled and corrected.

Embodiments of the present invention thus provide for a radar system that provides for greater immunity to interference from other radar systems, particularly from chirp radars. Exemplary embodiments also provide “good citizen” measures that help to reduce interference that might be caused to other radar systems.

An exemplary radar system providing the benefits of the preceding paragraph includes dual polarization receive channels in the expectation that interference will be a different polarization than the desired radio signals transmitted by own transmitters and reflected from targets in the environment. The polarization of interference can, in one implementation, be determined in a quiet period of own radar and thereafter used to adapt the receive antenna polarization to minimize the ratio of unwanted to wanted signals. The radar system also provides improved signal handling dynamic range to avoid receive channels saturating at the A-to-D converter stage before the radio signal has reached the digital signal processing domain. Signals that are digitized and recorded in memory can be processed “offline,” that is retrospectively, in different ways or even in time-reversed sample order to best detect wanted targets amid interference.

In an aspect of the present invention, an exemplary radar system embodiment includes a transmit pipeline that includes a plurality of transmitters. The radar system also includes a receive pipeline that includes a plurality of receivers. The transmitters are configured to transmit radio signals. The receivers are configured to receive radio signals that include the transmitted radio signals transmitted by the transmitters and reflected from objects in the environment. The receive pipeline is configured to provide interference immunity from interfering radio signals transmitted by other radar systems.

In an aspect of the present invention, the interfering radar systems may be chirp radars.

In another aspect of the present invention, the transmit pipeline and/or the receive pipeline is configured to avoid transmitting radio signals that interfere with the other radar systems.

In a further aspect of the present invention, the receive pipeline comprises exemplary dual polarization receive channels. The interfering radio signals are a different polarization than the radio signals transmitted by the transmitters and reflected from targets in the environment.

In yet another aspect of the present invention, the receive pipeline is configured to provide improved signal handling dynamic range to avoid receive channels saturating at the A-to-D converter stage before the radio signal has reached the digital signal processing domain.

In another aspect of the invention, Doppler analysis is performed by a method that compensates for range-walking.

In yet another aspect of the invention, fine range resolution is achieved by using a total bandwidth during a radar scan time comprising many alternating transmit-receive burst periods by changing the frequency used for a burst period either by digital phase-ramping or by side-stepping a frequency synthesizer that generates the transmit/receive center frequencies.

In another aspect of the invention, eigenvelocity may be removed by reducing the transmit frequency reference and increasing the receive frequency reference according to the radar's own forward speed, or vice versa for a rear-looking radar.

All information determined by the radar regarding range, azimuth, elevation and Doppler of target objects is output to a higher level of processing which may track targets from scan to scan and provide collision avoidance warnings or actions.

These and other objects, advantages, purposes and features of the present invention will become apparent upon review of the following specification in conjunction with the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee.

FIG. 1 is a plan view of an automobile equipped with a radar system in accordance with an embodiment of the present invention;

FIG. 2A and FIG. 2B are block diagrams of radar systems in accordance with an embodiment of the present invention;

FIG. 3 is a block diagram illustrating a radar with a plurality of receivers and a plurality of transmitters (MIMO radar) in accordance with an embodiment of the present invention;

FIG. 4 is a block diagram of an exemplary dual-polarized MIMO radar system with dual polarization receive channels in accordance with an embodiment of the present invention;

FIG. 5 illustrates the basic principle of transmit nulling;

FIG. 6 illustrates a method of creating one or more transmit nulls in accordance with an embodiment of the present invention;

FIG. 7 illustrates the matrix expressions for a more general nulling method in accordance with an embodiment the present invention;

FIG. 8 illustrates the simplified matrix equation for forming an exemplary two nulls;

FIG. 9 illustrates an exemplary method for simplifying null-forming to look-up table operations in accordance with an embodiment of the present invention;

FIG. 10 is a diagram of an exemplary illumination pattern of code 1 caused by placing null in the center in accordance with an embodiment of the present invention;

FIG. 11 is a diagram of an exemplary non-uniformity of illumination by code 2 due to placing a null in the center in accordance with an embodiment of the present invention;

FIG. 12 is a diagram of an exemplary sum of powers of all codes over the field off view in accordance with an embodiment of the present invention;

FIG. 13 is a diagram of an exemplary pulse mode signal format in accordance with an embodiment of the present invention;

FIG. 14 illustrates an exemplary placement of M-sequence bits in accordance with an embodiment of the present invention;

FIG. 15 is a diagram of an exemplary range-to-range cross-correlation from a strong target at medium range to all other ranges in accordance with an embodiment of the present invention;

FIG. 16 is a diagram of an illustration of an exemplary zero-padded cyclic convolution in accordance with an embodiment of the present invention;

FIG. 17 is a block diagram of one transmitter and one receiver in accordance with an embodiment of the present invention;

FIG. 18 is a diagram illustrating the need to use an (N+1)th M-sequence bit to randomize the last phase in accordance with an embodiment of the present invention;

FIG. 19 is a diagram illustrating the principle of range-walking compensated Doppler analysis in accordance with an embodiment of the present invention;

FIG. 20 is a diagram of an exemplary simulation of actual range-walking at 10 MPH in accordance with an embodiment of the present invention;

FIG. 21 is a diagram of an exemplary simulation of range-walking at 50 MPH in accordance with an embodiment of the present invention;

FIG. 22 is a diagram of an exemplary heat map for no range-walking compensation at 250 MPH in accordance with an embodiment of the present invention;

FIG. 23 is a diagram of an exemplary heat map for compensated range-walking at 250 MPH in accordance with an embodiment of the present invention;

FIG. 24 is a diagram illustrating close-in ACF of pure frequency hopped CW in accordance with an embodiment of the present invention;

FIG. 24A is a diagram illustrating an exemplary pure FH autocorrelation function in steps of one sample in accordance with an embodiment of the present invention;

FIG. 25 is a diagram illustrating full ACF of pure frequency-hopped CW in accordance with an embodiment of the present invention;

FIG. 26 is a diagram illustrating full and close-in ACF of FHCW with corrected DC term in accordance with an embodiment of the present invention;

FIG. 27 is a diagram illustrating an exemplary video-filtered FHCW autocorrelation function in accordance with an embodiment of the present invention;

FIG. 28 is a diagram of close-in effect of video filtering in accordance with an embodiment of the present invention;

FIG. 28A is a diagram of an exemplary autocorrelation function of code alone at 256 bits per burst in accordance with an embodiment of the present invention;

FIG. 28B is a diagram illustrating narrowing of the ACF peak for code+FH and increasing hop bandwidth in accordance with an embodiment of the present invention;

FIG. 29 is a diagram illustrating range-to-range autocorrelation for FH plus code modulation in accordance with an embodiment of the present invention;

FIG. 30 is a diagram illustrating an improvement in range-range cross-correlation by linking burst code rotation to hop frequency in accordance with an embodiment of the present invention;

FIG. 31 is a diagram illustrating MLS shift spacing of 2 between successive burst bits in accordance with an embodiment of the present invention;

FIG. 32 is a diagram illustrating range-walking compensated range-Doppler resolution of a 50 MPH target at 50 meters in accordance with an embodiment of the present invention;

FIG. 33 is a diagram illustrating an exemplary effect on target visibility with 50% erased hops in accordance with an embodiment of the present invention;

FIG. 34 is a diagram illustrating an exemplary effect of 70% erased hops in accordance with an embodiment of the present invention;

FIG. 35 is a diagram illustrating an exemplary effect of 85% erased hops in accordance with an embodiment of the present invention;

FIG. 36 is a diagram illustrating an exemplary geometry for antenna array analysis in accordance with an embodiment of the present invention;

FIG. 37 is a diagram illustrating exemplary physical and non-physical beam locations in accordance with an embodiment of the present invention;

FIG. 38 is a diagram illustrating an exemplary VRX array formed from a Tx and an Rx array in accordance with an embodiment of the present invention;

FIG. 39 is a diagram illustrating actual Tx and Rx locations in accordance with an embodiment of the present invention;

FIG. 40 is a diagram illustrating an exemplary full F.O.V pattern of the array of FIG. 38 in accordance with an embodiment of the present invention;

FIG. 41 is a diagram illustrating an exemplary beam pattern restricted to physical coordinates in accordance with an embodiment of the present invention;

FIG. 42 is a diagram illustrating an exemplary beam pattern restricted to +/−7.5 degrees of elevation in accordance with an embodiment of the present invention;

FIG. 43 is a diagram illustrating exemplary sidelobes of an off-center, also demonstrating distortion when using equal angular increments instead of equal increments in (u,v) space in accordance with an embodiment of the present invention;

FIG. 44 is a diagram illustrating an exemplary beam pattern of a cluster of four strong targets using the array of FIG. 38;

FIG. 45 is a diagram illustrating an exemplary beam pattern of the cluster of 4 strong targets using a DVRX array in accordance with an embodiment of the present invention;

FIG. 46 is a diagram illustrating an exemplary optimized sparse array in accordance with an embodiment of the present invention;

FIG. 47 is a diagram illustrating an exemplary pattern of the array of FIG. 46 with uniform weighting;

FIG. 48 is a diagram illustrating the Bplus beam with Gplus weighting of the array of FIG. 46;

FIG. 49 is a diagram illustrating the B-minus beam with Gminus weighting of the array of FIG. 46;

FIG. 50 is a diagram illustrating the beam produced by 20 Log₁₀(∥bplus|−|bminus∥) in accordance with an embodiment of the present invention;

FIG. 51 is a diagram illustrating an exemplary keep-out area around the main lobe during sidelobe minimization in accordance with an embodiment of the present invention;

FIG. 52 is a diagram of the steps to a method for Monte Carlo MINIMAX sidelobe minimization in accordance with an embodiment of the present invention;

FIG. 53 is a diagram of the steps to another method for Monte Carlo MINIMAX algorithm in accordance with an embodiment of the present invention;

FIG. 54 is a diagram of an exemplary register structure for computing on-the-fly the square of a bit serially presented binary number in accordance with an embodiment of the present invention;

FIG. 55 is a diagram illustrating how residual subtraction errors arise from position determination errors in accordance with an embodiment of the present invention;

FIG. 56 is a diagram illustrating residuals of FIG. 42 due to position quantizing error;

FIG. 57 is a diagram illustrating apparent versus actual target position as a target moves through a transmit null in accordance with an embodiment of the present invention;

FIG. 58 is a diagram illustrating an exemplary close-in look at target position error near a transmit null in accordance with an embodiment of the present invention;

FIG. 59 is a diagram illustrating an exemplary close-in position error due to a receive null in accordance with an embodiment of the present invention;

FIG. 60 is a diagram illustrating a comparison of real and apparent position near both transmit and receive nulls in accordance with an embodiment of the present invention;

FIG. 61 illustrates position distortion due to nulling not evident on the macro scale in accordance with an embodiment of the present invention;

FIG. 62 illustrates an exemplary process for compensating for nulling during subtraction in accordance with an embodiment of the present invention;

FIG. 63 illustrates exemplary position estimation errors due to target proximity in accordance with an embodiment of the present invention; and

FIG. 64 illustrates exemplary steps to a method for combining multiple beamformings.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring to the drawings and the illustrative embodiments depicted herein, wherein numbered elements in the following written description correspond to like-numbered elements in the figures, a radar system provides for greater immunity to interference from other radar systems, particularly chirp radars. The exemplary radar system also provides “good citizen” measures that help to reduce interference that might be caused to other radar systems. The radar system will include exemplary dual polarization receive channels in the expectation that interference will be a different polarization than the desired radio signals transmitted by own transmitters and reflected from targets in the environment. The radar system also provides improved signal handling dynamic range to avoid receive channels saturating at the A-to-D converter stage before the radio signal has reached the digital signal processing domain.

FIG. 1 illustrates an exemplary radar system 100 configured for use in a vehicle 150. In an aspect of the present invention, a vehicle 150 may be an automobile, truck, or bus, etc. The radar system 100 may utilize multiple radar systems (e.g., 104 a-104 d) embedded in the vehicle 150 (see FIG. 1). Each of these radar systems may employ multiple transmitters, receivers, and antennas (see FIG. 3). These signals are reflected from objects (also known as targets) in the environment and received by one or more receivers of the radar system. A transmitter-receiver pair is called a virtual radar (or sometimes a virtual receiver). As illustrated in FIG. 1, the radar system 100 may comprise one or more transmitters and one or more receivers (104 a-104 d) for a plurality of virtual radars. Other configurations are also possible. FIG. 1 illustrates the receivers/transmitters 104 a-104 d placed to acquire and provide data for object detection and adaptive cruise control.

As illustrated in FIG. 1, a controller 102 receives and then analyzes position information received from the receivers 104 a-104 d and forwards processed information (e.g., position information) to, for example, an indicator 106 or other similar devices, as well as to other automotive systems. The radar system 100 (providing such object detection and adaptive cruise control or the like) may be part of an Advanced Driver Assistance System (ADAS) for the automobile 150.

An exemplary radar system operates by transmitting one or more signals from one or more transmitters and then listening for reflections of those signals from objects in the environment by one or more receivers. By comparing the transmitted signals and the received signals, estimates of the range, velocity, and angle (azimuth and/or elevation) of the objects can be estimated.

There are several ways to implement a radar system. One way, illustrated in FIG. 2A, uses a single antenna 202 for transmitting and receiving. The antenna 202 is connected to a duplexer 204 that routes the appropriate signal from the antenna 202 to a receiver 208 or routes the signal from a transmitter 206 to the antenna 202. A control processor 210 controls the operation of the transmitter 206 and the receiver 208 and estimates the range and velocity of objects in the environment. A second way to implement a radar system is shown in FIG. 2B. In this system, there are separate antennas for transmitting (202A) and receiving (202B). A control processor 210 performs the same basic functions as in FIG. 2A. In each case, there may be a display 212 to visualize the location of objects in the environment.

A radar system with multiple antennas, multiple transmitters, and multiple receivers is shown in FIG. 3. Using multiple antennas 302, 304 allows an exemplary radar system 300 to determine the angle (azimuth or elevation or both) of targets in the environment. Depending on the geometry of the antenna system, different angles (e.g., azimuth or elevation) can be determined.

The radar system 300 may be connected to a network via an Ethernet connection or other types of network connections 314, such as, for example, CAN-FD and FlexRay. The radar system 300 may also have memory (310, 312) to store software used for processing the signals in order to determine range, velocity, and location of objects. Memory 310, 312 may also be used to store information about targets in the environment. There may also be processing capability contained in the ASIC 316 apart from the transmitters 203 and receivers 204.

The description herein includes an exemplary radar system in which there are NT transmitters and NR receivers. Each transmitter transmits a different code and each receiver correlates with each transmitter code to produce NT×NR virtual radar signals, one for each transmitter-receiver pair. For example, a radar system with eight transmitters and eight receivers will have 64 pairs or 64 virtual radars (with 64 virtual receivers). When three transmitters (Tx1, Tx2, Tx3) generate signals that are being received by three receivers (Rx1, Rx2, Rx3), each of the receivers is receiving the transmission from each of the transmitters reflected by objects in the environment. Each receiver can attempt to determine the range and Doppler of objects by correlating with delayed replicas of the signal from each of the transmitters. The physical receivers may then be “divided” into three separate virtual receivers, each virtual receiver correlating with delay replicas of one of the transmitted signals.

There are several different types of signals that transmitters in radar systems employ. A radar system may transmit a pulsed signal or a continuous signal. In a pulsed radar system, the signal is transmitted for a short time and then no signal is transmitted. This is repeated over and over for a length of time termed the scan time. The processor collects and processes everything received over the scan time which is chosen to be long enough to receive enough target energy to detect reliably and to be able to resolve Doppler with fine precision. A typical scan time range is between 10 ms and 30 ms. A typical transmit burst length is 2 μs and is followed by a 2 μs receive period. There are thus an exemplary 4,095 transmit/receive periods in a typical 16 ms scan time. Shifts of a 4,095-bit M sequence may thus be used to fill the 4,095 transmit bursts with digital code modulation.

When the signal is not being transmitted, the receiver listens for echoes or reflections from objects in the environment. In some radars a single antenna is used for both the transmitter and receiver and the radar transmits on the antenna and then listens to the received signal on the same antenna. This process is then repeated.

In a continuous wave radar system, the signal is continuously transmitted. There may be an antenna for transmitting and a separate antenna for receiving.

Another classification of radar systems is in the modulation of the signal being transmitted. A first type of continuous wave radar signal is known as a frequency modulated continuous wave (FMCW) radar signal. In an FMCW radar system, the transmitted signal is a continuous sinusoidal signal with a varying frequency. By measuring a time difference between when a certain frequency was transmitted and when the received signal contained that frequency, the range to an object can be determined. By measuring several different time differences between a transmitted signal and a received signal, velocity information can be obtained. If the frequency changes smoothly in a ramp fashion, the radar may be known as a chirp radar.

A second type of continuous wave signal used in radar systems is known as a phase modulated continuous wave (PMCW) radar signal. In a PMCW radar system, the transmitted signal from a single transmitter is a continuous sinusoidal signal in which the phase of the sinusoidal signal varies. Typically, the phase during a given time period (called a chip period or chip duration) is one of a finite number of possible phases. The spreading code could be a binary code (e.g., +1 or −1). A spreading code consisting of a sequence of chips, (e.g., +1, +1, −1, +1, −1 . . . ) is mapped (e.g., +1−>0, −1—>1) into a sequence of phases (e.g., 0, 0, 90, 0, 270 . . . ) that is used to modulate a carrier signal to generate the radio frequency (RF) signal. The spreading code could be a periodic sequence or could be a pseudo-random sequence with a very large period, so it appears to be a nearly random sequence. Herein, a particular choice of spreading code is shown to provide advantages, namely, successive bits of an M-sequence equal in length to the number of transmit bursts in the scan period are placed as the first bit of each successive burst and then a shift of them M-sequence is placed as the second bit of each burst and so on until the burst if filled with a desired number of bits. The resulting signal has a bandwidth that is proportional to the rate at which the phases change, called the chip rate, which is the inverse of the chip duration=1/T. By comparing the return signal to the transmitted signal, the receiver can determine the range and the velocity of reflected objects.

In one implementation, a burst of transmit signal (e.g., a PMCW signal) is transmitted over a short time period (e.g., 1 microsecond) and then turned off for a similar time period. The receiver is only turned on during the time period where the transmitter is turned off. In this approach, reflections of the transmitted signal from very close targets will only comprise the last few bits transmitted because the receiver is not active during a large fraction of the time when the reflected signals are being received. However, since nearby objects produce strong reflected signals, enough energy is received in those few bits per burst to detect them. Thus, it is desirable that the first received bit, and being the last bit transmitted and reflected from the nearest object, collected one from each burst in the scan, should as far as possible be orthogonal to the set of second receive bits collected over the scan and representing the second nearest reflecting object. The latter is the purpose of using M-sequences spread over the scan, which will be described in greater detail in the following paragraphs.

The radar sensing system of the present invention may utilize aspects of the radar systems described in U.S. Pat. Nos. 10,261,179; 9,971,020; 9,954,955; 9,945,935; 9,869,762; 9,846,228; 9,806,914; 9,791,564; 9,791,551; 9,772,397; 9,753,121; 9,599,702; 9,575,160, and/or 9,689,967, and/or U.S. Publication Nos. 2018/0231656, 2018/0231652, 2018/0231636, and 2017/0309997, and/or U.S. provisional applications, Ser. No. 62/486,732, filed Apr. 18, 2017, Ser. No. 62/528,789, filed Jul. 5, 2017, Ser. No. 62/573,880, filed Oct. 18, 2017, Ser. No. 62/598,563, filed Dec. 14, 2017, Ser. No. 62/623,092, filed Jan. 29, 2018, and/or Ser. No. 62/659,204, filed Apr. 18, 2018, which are all hereby incorporated by reference herein in their entireties.

Digital frequency modulated continuous wave (FMCW) and phase modulated continuous wave (PMCW) are techniques in which a carrier signal is frequency or phase modulated, respectively, with digital codes using, for example, GMSK. Digital FMCW radar lends itself to be constructed in a MIMO variant in which multiple transmitters transmitting multiple codes are received by multiple receivers that decode all codes, as mentioned above. The advantage of the MIMO digital FMCW radar is that the angular resolution is that of a virtual antenna array having an equivalent number of elements equal to the product of the number of transmitters and the number of receivers. Digital FMCW MIMO radar techniques are described in U.S. Pat. Nos. 9,989,627; 9,945,935; 9,846,228; and 9,791,551, which are all hereby incorporated by reference herein in their entireties.

FIG. 4 is a block diagram of an exemplary radar system that provides for greater immunity to interference from other radar systems, particularly chirp radars. The exemplary radar system also provides “good citizen” measures that help to reduce interference that might be caused to other radar systems. The radar system can include dual polarization receive channels 400 in the expectation that interference will be a different polarization than the desired radio signals transmitted by own transmitters and reflected from targets in the environment. The radar system also provides improved signal handling dynamic range to avoid receive channels saturating at the A-to-D converter stage 470 before the radio signal has reached the digital signal processing domain 480, 550.

As illustrated in FIG. 4, the exemplary radar system improves the dynamic range up to and including the A-to-D converters 470 by using the results of digital radar signal analysis to date from the digital signal processing domain 550 in a digital signal prediction step 540 to construct a digital prediction of the receiver channel signals to be received at a future time, probably 1 μs into the future. The dynamic range can be improved by D-to-A converting the predictions into the analog domain using, for example, only coarse D-to-A converters 460 and to then subtract the analog interference prediction signals from the corresponding receive channel signals in a summing or subtracting junction 450, such that the residual signals presented to the A-to-D converters 470 are of a reduced amplitude but still filling the dynamic range of converters 470. Thus, the total dynamic range for signal handling is equal to the dynamic range of converters 470 enhanced by the amount by which interference subtraction lowered the residuals. One way to think of it is that coarse D-to-As 460 might slice off the top 4 bits of signal dynamic range leaving the bottom 6 bits only to be converted by converters 470, and thereby achieving the equivalent of a 10-bit conversion.

In order to achieve the accuracy of, for example, a 10-bit conversion, the amount of interference subtracted in the analog domain has to be added back in in interference re-adder 480 with high accuracy. The method envisaged to do this is that each level (perhaps 16 to 64 levels) of each of the coarse D-to-A converters 460 will have an auto-learned digital word to describe it which will be adaptively learned to a high accuracy so that when that level is subtracted in the analog domain in unit 450 an accurate digital value will be added back in the digital interference re-addition unit 480.

After the A-to-D converters 470 of limited word length, the digital signal processing thereafter can have whatever word length is needed to avoid digital saturation. The analog interference subtraction should occur as early as possible in the analog path. In one exemplary embodiment, the analog interference subtraction is performed after down-conversion to the (1,0) baseband, as subtraction is more complex and more power consuming if the predictions are mixed up to 80 GHz for subtraction in the RF domain; and moreover, that has been found to a give a significant noise factor degradation.

For dual-polarization receivers, the balanced dual-polarization antenna (V,H) connection can comprise four ball-bonds in a square. When arranged in the above way, the signals are nominally spatially orthogonal and any residual coupling between them is unimportant given that the dual polarization antenna may be crossed-dipoles for example.

With the availability of the dual-polarization signals from NR receivers and both polarizations, the digital radar signal analysis can comprise, as described in the incorporated patents, of an FFT-based scheme for burst-by-burst correlation of the received signal in each channel with the known transmitter codes. If this is done, note that transmitting GMSK (or UMSK as defined in the incorporated patents) using the GSM-type 90-degree per bit pre-rotation coding reduces the correlation to correlating a complex received signal with a real template, rather than a full complex correlation. There might however be even faster and less power consuming correlation methods that need no multiplies, which can be used when the same received signal is to be correlated with many binary codes (many shifts of many different codes is a large number of binary correlations). These are based on the fact that the number of possible bit patterns of finite length, such as 8, is 256 times however many codes are correlated with, and since the same 256-bit patterns will reoccur many times in many codes, 8 signal samples need be combined only once in all 256 ways, and by doing it in Gray code order, only one new addition is required for each combination. The latter alone is an 8:1 speed up and is disclosed in expired U.S. Pat. No. 5,931,893 entitled “Efficient Correlation over a Sliding Window.” Other correlation methods are described herein when the correlation is performed using multiple samples per bit in frequency hopping systems to obtain finer ranger resolution.

There is an advantage in the per-pulse FFT correlation method. That is, when the signal is temporarily available in the frequency domain, narrow-band interference stands out and can be clipped, nulled or otherwise mitigated.

An advance on interference nulling in the spectral domain only is to perform a rough beamforming over all antenna channels for each FFT component. A rough beamforming over, for example, 16 receive channels can be a 16-point FFT. Whatever is used, it should be an easily invertible, information lossless transform, but not necessarily an orthogonal transform like the FFT. The combination of a 256-pt FFT for correlation with a 16-pt FFT over corresponding spectral components of the 256-pt FFT is in fact a 256×16 2-D FFT, which is a 2,048 pt Walsh-Fourier transform. The difference between a 2,048 pt Fourier transform and a Walsh-Fourier transform is that the former has twiddles at each stage while the latter omits twiddles between certain stages corresponding to the “Walsh” part. So, there are no twiddles between the 256 pt correlation FFT and the 16 pt beamforming FFT.

After a rough beamforming of each FFT component, the signal is in the 3D domain of spectrum and space. Nulling out big components at particular frequencies and particular spatial directions removes less of the wanted signal energy, thus causing less loss of wanted target detection sensitivity and producing fewer artefacts. Moreover, the directions from which other-radar interference is received are likely to be long-term and thus carry over from one burst to another. Likewise, in a dual-polarized radar, the principal interference polarization can be determined per frequency and coarse direction and is likely to be stable for at a least a few 1 μs bursts. Therefore, the directions and polarizations to de-weight can be determined per spectral component, resulting in substantial interference mitigation with little loss of wanted signal. This technique of nulling components of a 2,3 or even 4-dimensional transform) over different domains (e.g. frequency, azimuth, elevation and polarization) can be considered to be a further generalization of the technique described in expired U.S. Pat. No. 5,831,977, entitled “Subtractive CDMA system with simultaneous subtraction in code space and direction-of-arrival space.” The advantage of nulling in a multiple domain transform space is that a smaller fraction of the total transform components is deleted to reduce interference and thus there is less wanted signal distortion upon returning to the original domains with an inverse transform.

Thus, the addition of polarization as an additional domain (even though the order of its transform is only 2) provides another dimension in which to segregate interference. Since the polarization of other radar interference is also likely to be long-term stable, it can be determined solidly and then the following algorithm can be used to annul it to great advantage even though the polarization domain has only two points:

For each spatio-spectral component to be cleaned up, form αV+βH where V and H are the horizontal and vertical components (or other cross-polarized components such as +/−45), such that the resulting polarization, which is determined by the ratio of α to β, is orthogonal to the interferer's polarization, but the scaling of α and β is chosen to leave the signal component unattenuated; at least within reason—if the polarizations of the signal and interferer were close, α and β would become large, magnifying noise, so there is in that case a compromise between noise magnification and signal loss that is known from many other similar problems.

So, using all 4 domains—spectral, 2 spatial and polarization, substantial reduction of interference from other radars can already be obtained at the per-burst stage. Note that it is also known to divide a burst into a smaller number of periods corresponding to, for example, 256 samples, a convenient FFT size, which is then called a “pulse,” a burst comprising several such pulses. Interference excision in the 4 domains can occur on a per-pulse basis, and then, while still in the transform domain, the results are combined and subjected to a single inverse transform. It is possible that only a single polarization, the above weighted combination of V and H, need be passed on to be accumulated over all pulses and processed further in Doppler analysis and eventual beamforming, thus restricting the extra complexity of dual polarization to the early stages of processing. Inverting the rough beamforming needs to be done only once on the accumulated pulse transforms and likewise the inverse 256-point FFT, the outputs of which are signals segregated by range.

The additional complexity introduced for spatio-spectral-polarization interference nulling is thus a doubling of the number of correlation FFTs to be performed, as there is one for each polarization. This is needed on the assumption that different interferers in different parts of the spectrum or lying in different directions might have different polarizations, so even though their polarizations may be known in advance, if they are not the same, polarization combination cannot be done ahead of the FFT and rough beamforming FFT; rather, the interferers have to be separated by spectrum and direction in order to apply a polarization nulling adapted to each one.

In the exemplary embodiment illustrated in FIG. 4, the rough beamforming FFTs include 256 16-point beamforming FFTs after sixteen 16×16 point (256 point performed base 16) correlation FFTs, assuming 16 receivers, one FFT per RX (and per TX). This is less than a 50% increase in processing, as the 256-point FFT has twiddles between its two stages of 16 pt FFTs, while no twiddles are needed between the 256-point FFTs and the rough beamforming FFTs. Because of the large number of base-16 FFTs used, an optimized 16-point hardware implementation is used, based on known techniques to reduce multiplications, such as, the Winograd method, or using base-4 decomposition with the Gauss method for complex multiplication with the twiddling constants. Note that Gauss complex multiplication requires 5 adds and 3 multiplies compared to the usual 2 adds and 4 multiples when both complex numbers are arbitrary but reduces to three adds and 3 multiplies when one of the complex numbers is always the same, as is the case with twiddling constants.

Thus, one exemplary embodiment disclosed herein includes an exemplary radar system that provides for greater immunity to interference from other radar systems, particularly from chirp radars. The exemplary radar system also provides “good citizen” measures that help to reduce interference that might be caused to other radar systems. A first technique disclosed to achieve the latter is the use of transmit nulling to place nulls in the direction of other oncoming radars such that they are not illuminated by our radar's transmissions.

Since the MIMO radar transmits different uncorrelated codes from each transmitter, there is no way that they alone form a beam or a null. However, given the direction of an oncoming radar, the composite signal that an object in that direction would receive from our own transmitters can be calculated by applying the conjugate of the phase factors that are used to form receive beams in that direction, and which are likely already available for the latter requirement and possibly already stored in a look-up table for many thousands of different directions to avoid real-time sine/cosine calculations. Moreover, the phases received from the interfering radar can be determined by correlating the received interference as between the receive antennas and, using transmit and receive antenna calibration information, the transmit phases necessary to place nulling beam on the same location can be determined. Having determined the composite signal that would be received at the oncoming radar, a novel transmit nulling technique comprises adding the negative of it, properly phased, to all transmitters so as to form a beam pointed only at the oncoming radar and which will thus null out all of our radar's transmissions only at that point, leaving wanted targets in different locations more or less still illuminated. Since each transmitter is now transmitting the sum of two signals, its normal code plus the nulling signal, it has to be a linear transmitter even if the code modulation alone is constant-envelope. However, the linearity requirement is not excessive if seeking only of the order of 15-20 dB of interference mitigation. Typically, the transmitter would be backed off 5 dB from saturation and the resulting efficiency loss is tolerated while interference mitigation operation is active.

FIG. 6 shows a method of creating a null to all transmitters in a given direction. Codes 1 to 16 for transmission by respective transmitters enter at the bottom to 16-point FFT 1303. The output of FFT 1303 is a set of signals in “Beam-space,” that, each signal represents what will be transmitted using a specific antenna beam pattern. In this case, the antenna patterns are only narrow beams if the transmitting antennas are regularly spaced. If the transmitters are not regularly spaced, a different transformation from code domain to beam domain than an FFT would have to be used, as will be described below.

Assuming for now that “beam domain” comprises a number of different narrow beam directions, to prevent illumination of targets in that direction that beam signal is set to null before using IFFT 1302 to transform back from beam domain to antenna signal domain. The signal outputs of IFFT 1302 are then D-to-A converted and up-converted to the transmit frequency and amplified to a transmit power level in modulators and PAs 1301, and then transmitted from respective antennas 1300.

As pointed out above, this method must be modified if the transmit antenna spacings are not regular, as an FFT/IFFT does not then provide good beamforming. For clarity, the matrix formulation of a more general method is illustrated as FIG. 7. FIG. 7 illustrates the transformation from code domain to beam domain by premultiplying a vector of code bits (top right) with a signal-to-beam domain transforming matrix (such as an FFT in the regular spaced antenna case), followed by setting certain beams to zero (the zeros in the diagonal matrix) and then transforming back to signal/antenna domain with another matrix multiplication on the left hand side, such as an FFT for regular spaced antennas, is equivalent to the lower matrix equation in which the FFT and IFFT matrices have disappeared. Instead, it is only necessary to calculate matrices U,V, which comprise each only as many rows or columns as the number of nulls desired, UV times the code vector forming what has to be subtracted from the set of transmissions to created nulls in one, two or more directions.

FIG. 8 illustrates the basic equation for creating an exemplary two nulls. With C being the column vector of code bits, a new column vector is formed by multiplying C by UV, where U is a 2×N matrix (N=16, the number of codes and transmit antennas in the cases exemplified here) depending on the desired null directions and V is an N×2 matrix also depending on the desired null directions. U calculates what would be received at the null locations and V determines how to form beams to transmit the negatives of the latter to those two locations. Nominally U and V are conjugate transposes of each other if the different null directions are uncorrelated. The term used for U and V is “steering vectors” as they phase the antennas to steer a beam in a particular direction. Otherwise, U is V# multiplied by the inverse of the steering vector cross-correlation matrix, which is L×L, where L is the number of nulls to be created. How the above produces a null may be understood as follows:

If U_(L×N) is the collection of L steering vectors from the N transmit antennas to the L desired null directions and C_(N×1) is a vector of code bits, then what would be received at the L null locations is given by U_(L×N) C_(N×1), which is an L×1.column vector.

Now multiply that by V_(N×L) and subtract from the code vector to obtain [I_(N×N)−V_(N×L) U_(L×N])]C_(N×1).

Now when that is transmitted, what is received in the null directions is U_(L×N)[I_(N×N)−V_(N×L) U_(L×N])]C_(N×1)=[U_(L×N)−U_(L×N) V_(N×L) U_(L×N])]C_(N×1).

Now letting V_(N×L)=U*_(N×L) [U*_(N×L) U_(L×N)]⁻¹, the above becomes [U_(L×N)−U_(L×N) U*_(N×L) [U*_(N×L) U_(L×N)]⁻¹ U_(L×N])]C_(N×1)≡0 as the inverse matrix cancels with U_(L×N) U*_(N×L) leaving[U_(L×N)−U_(L×N])] which is zero.

However, what is received in any collection of directions U′ that are not the null directions is [U′_(L×N)−U′_(L×N) U*_(N×L) [U*_(N×L) U_(L×N)]⁻¹ U_(L×N])]C_(N×1).

Now U′_(L×N) U*_(N×L) [U*_(N×L) U_(L×N)]⁻¹ does not cancel to unity.

It may be noted that, for orthogonal null directions, the inverse matrix [U*_(N×L) U_(L×N)]⁻¹ is a diagonal matrix of values 1/N, ( 1/16 here), which provides the necessary scaling for the nulling beam to be of unity gain. In general this matrix provides the correct scaling to generate deep nulls where desired.

The oncoming radars receive phased combinations of our transmitted codes given by VC. The result is a new column vector that depends on the code bits and the null directions.

FIG. 5 shows the straightforward principle of transmit nulling. Code streams numbered Code 0 to Code F destined to be transmitted by the corresponding transmitters enter at the left. The code streams pass straight across to subtractors 1203-1 to 1203-16 where the nulling signal is subtracted. The null signal is generated by first multiplying the Code bits by V in multipliers 1200-1 to 1200-16 and summing junction 1201 (for a single row V corresponding to one null) and then multiplying the sum value by U in multipliers 1202-1 to 1202-16 to phase them in order to create a narrow beam for transmitting the nulling signal. All arithmetic operations are complex. Note that a scaling of 1/N i.e., 1/16 shall take place somewhere in this sequence to ensure that the net gain of the nulling beam is only unity. This arises by reference to the above matrix mathematics. The nulling signal thus properly phased for each antenna is then subtracted from the code signals to be transmitted, an operation which assumes that the transmit chain thereafter is linear and thus able to transmit the now non-constant envelope signals without excessive distortion. A 5 dB PA back-off suffices when looking for modest null depths of the order to 15 to 20 dB.

Since the code bits are only +1 or −1, this suggests a way of precomputing the signals to be transmitted and storing them in a look up table for use as long as the null directions are constant, maybe for hundreds of transmit bursts i.e. 100's of microseconds during which time an oncoming radar will hardly have changed bearing. Note that, given linear transmitters, there is no reason not to use a linear modulation such as OQPSK. For OQPSK, only the output of FIG. 5 needs to be computed at one sample per bit and then linearly filter the outputs by upsampling FIR filters to produce multiple samples per bit of smooth, spectrally controlled waveforms. Since there are only 16 code bits input at any one time, there can only be 65,536 possible sets of output values to the modulators. Since 65,536 is a large number, FIG. 9 shows how to do this in two chunks of 8 to reduce total look up table size by a factor of 128.

Referring to FIG. 9, a first look-up table 1205 has inputs of one bit of each of codes 1 to 8. Since there are only 8 binary bits, there can only be a total of 256 possible outputs. The output for each of the 16 transmitters is precomputed for each of those 256-bit combinations based on the desired null directions and stored in the 4,000-word look-up table 1205. The table 1205 is then valid for as long as the null directions are not changed. The angular position of an oncoming radar does not change in the 4 μs period of a transmit-receive cycle, therefore the table, once precomputed, may be used for all bits of many successive transmit receive bursts. Table 1206 is likewise precomputed for code inputs 9 to 16. The method of precomputation is to apply phase shifts (the rows or steering vectors of matrix V) to the codes depending on the distance differences from each associated transmit antenna along the null line to a target, adding up the results to determine the values for multiplication by matrix U and then subtracting the resulting vector from the code vector. The two look-up tables 1205 and 1206 are thus different because the distance differences along the sightline of the nulls to the targets are different for transmitters 1 to 8, which transmit codes 1 to 8, as compared to transmitters 9 to 16, which transmit codes 9 to 16.

FIG. 10 illustrates a radar image as an exemplary heat map showing the extremely sharp null produced for a single null case. The heat map represents signal strength over a 2D field of view comprising +/−90 degrees of Azimuth and +/−7.12 degrees approximately of elevation, which is sufficient for automotive radar. The radar image shows the ripple in illumination strength, mapped to color, over the whole field of view for one transmitter, with a sharp notch at the null location being evident. The light green color indicates an average illumination level, and the yellow spots indicate a lower-than-average illumination by up to perhaps 10 dB in places, according to the color scale on the right. FIG. 11 illustrates the same phenomenon for code 2. It may be seen that the ripple pattern is completely different. Over the 16 codes, the total illumination power is thus more uniform, as shown in FIG. 12, as the loss of illumination at certain points with one code does not coincide with a loss for another code, except at the one place in the center where they all exhibit a sharp null. The effect of nulling on the radar display of target positions will be shown in more detail after explaining the method of beamforming.

The receive antennas may also be combined in null processing to reduce received interference from oncoming radars of the same or different type. Since interference does not separate by range or Doppler, receive nulling is performed before range or Doppler computations. In one implementation, the receiver A-to-D outputs are captured during a period that own transmitters are silent. Such periods may occur for other reasons such as synthesizer sidestepping in frequency hopping modes. The D-to-A outputs are then processed to determine the principal directions (and polarizations, if dual polarization receivers are used) from which interference is being received. If receiver channel amplitude differences have been calibrated out, this analysis yields an interference phase for each channel. This is used to construct U,V vectors in the same way as for transmit nulling, that is, a narrow beam is formed focused on the interference by multiplying the receiver signals with vectors that are the conjugate of the received phases (receive steering vectors) and then an appropriate amount ( 1/16 here) is subtracted from each of the receive antenna signals before performing range correlation and Doppler processing.

FIG. 13 illustrates an exemplary transmit-receive format used in pulse mode digital FM radar. The square wave represents the transmitter ON when the square wave is high and OFF when the square wave is low. The Tx OFF period is the receiver ON period. IQ samples representing digital bits are modulated on to the transmit carrier for each burst. Bit 2000-1 is the last bit transmitted, and thus, the first bit received from the nearest target reflecting the first transmit burst. B it 2000-2 is likewise the last bit transmitted of the second burst and received reflected form the same target, and so on. Knowing what was transmitted, the receiver processing correlates all of these first received samples with the known transmission to determine the strength of the nearest echoing object.

Bit 2001-1 is the second to last bit transmitted in the first burst and is received overlapping bit 2000-1 from a target 1-bit time of go-return delay further away. Likewise bit 2001-2 is received from that second nearest target as an echo of the second last transmitted bit of the burst. It is desirable that, when the receiver correlates received samples 2000-1 . . . 2000-n over the whole scan that the correlation with bits 2001-1 . . . 2001-n over the whole scan should as far possible be zero. This is achieved by choosing bits 2000-1 to 2000-n to be a first shift of an M-sequence and bits 2001-1 . . . 2001-n to be a second shift of the same M-sequence, as it is known that maximum correlation between different shifts of an M sequence is −1/M. Therefore, the number of bursts n over which correlation is performed, also called the scan period, is chosen to be the length of an M-sequence, for example 4,095. For 2 μs Tx and 2 μs Rx, the TX/RX period is 4 us and the scan period is 4,095×4 us or approximately 16 ms.

Doppler shift due to a moving target causes the phase of like bits in successive received bursts such as 2000-1, 2001-1 . . . 200 n−1 to rotate systematically. Thus, the samples are derotated by amounts corresponding to hypothesized Doppler shifts before accumulating across the scan, thereby obtaining range correlations for a complete set of Doppler hypotheses. The results form a 2D data set called the range-Doppler bins. For later echoes that provide two or more receivable bits during the receive period, the correlation of those bits can be accumulated over a burst without relative Doppler phase untwisting as the Doppler phase rotation during a 2 μs burst can be neglected. Thus, partial correlations are first obtained over one burst at a time, corresponding to the first received bit (2000-1) for the earliest echo, the sum of the first and second received bits (2000-1 plus 2001-1) for the second earliest echo, and so forth, where “correlation” implies that the known bit polarities of the M-sequence are removed before accumulation to ensure that all contributions for a valid target echo are additive. Then the partial correlations from different bursts are combined with all possible Doppler phase untwistings to fill the range-Doppler bins. The operation as just described can be performed by subjecting the partial correlations to a DFT or a FFT, which can employ a weighting function to reduce sidelobes. However, for high Dopplers, the signal echo does not appear in the same range bin across the whole scan, a phenomenon called “range-walking” for which compensation techniques will be disclosed.

FIG. 14 illustrates in more detail an exemplary placement of M-sequence bits b₁, b₂ . . . b_(n−1), b_(n). If b_(n) is the last bit transmitted in burst 1, then choose b_(n−1) to be the last bit transmitted in burst 2, b_(n−2) to be the last bit transmitted in burst 3, and so forth. That way the earliest bits received across all bursts of the scan will form a complete sequence (reversed) of b_(n) b_(n−1) . . . b₂ b₁.

The second to last bits transmitted shall be chosen to be a different shift of the same code, for example, the (cyclically) adjacent shift b_(n−1) . . . b₂ b₁ b_(n) and so forth. It may seem that the burst contents then just shift through the code from burst to burst. It will be shown later that choosing adjacent bits in the burst to be non-adjacent shifts of the code can reduce residual range-to-range correlations when using frequency hopping. Without frequency hopping however, the range-to-range unwanted cross correlation properties of the M-sequence placed as in FIG. 14 are very good, ranging from −72 dB to −88 dB as shown in FIG. 15, which was computed for 4,096 bits per burst, and thus the whole M-sequence was used (rotated) in every burst.

Since it is also necessary to keep the 16 transmitter signals as far as possible orthogonal, this can be done either by reducing the number of bits per burst to say 256, which only uses 1/16th of the available code shifts, leaving the rest for the other transmitters, or else by differentiating the different transmitters by inverting their burst signals using an assigned Walsh code per transmitter. Inverting a burst transmission does not change the correlation of a transmitter signal with an echo of itself, and therefore, does not destroy the good autocorrelation properties of the M-sequence, but renders different transmitters orthogonal or near-orthogonal to each other. Instead of different Walsh codes, different shifts of a different M=4,095 sequence, of which there are several, could be used to impose an overall burst sign change.

In an initial simulation it was noticed that transmitter to transmitter correlations were higher than expected, this was found to be because the last bit transmitted, due to filter tails, has a waveform that merges into a bit beyond the last bit which was always the same polarity. The phase at the end of the last bit was therefore always the same. Since this is the first sample received, the first samples received were the same for all transmitters and this correlation dies out only slowly when using a low bitrate and many samples per bit, such as, 16 bits sampled at 256 samples per bit. FIG. 18 illustrates that in fact a 16-bit burst needs to use 17 M-sequence bits so that the 17 phases including the start and end phases are all code-dependent and therefore uncorrelated as between transmitters. Thus, the method of generating samples is to use a start phase of 0 or 180 in dependence of a 17th (or N+1 th) code bit and to then rotate the phase according to the 16 (or N) bits in the burst, at 256 (or 4,096/N) samples per bit. The above keeps the number of samples transmitted at 4,096, however many bits N there are in a burst, but this is not obligatory, and other numbers of samples can be used. Moreover, this waveform is then inserted into the burst in time-reversed order so that the first phase (0 or 180) becomes the last phase transmitted and thus the first sample received. This eliminated the unexpectedly high inter-transmitter correlations.

Partial range correlations may be computed per bit or per sample. Thus, a burst may contain 256 bits represented by 16 samples per bit and correlation may be performed for each of the 4,096 samples received over the 2 μs receive period. The partial correlations are computed for each burst as follows:

For the earliest sample received after the end of the transmit burst, the partial correlation is that sample times the conjugate of the last transmitter sample.

The next partial correlation is the product of the first sample received with the conjugate of the second last transmitted sample plus the second sample received times the conjugate of the last transmitted sample, and so forth as shown in FIG. 16 which illustrates zero-padded cyclic convolution.

In FIG. 16, the received samples numbered S1 to Sn clockwise are disposed around the right half of the outer circle while the left half is filled with zeros. The transmitted samples T1 to Tn are disposed clockwise around the left half of the inner circle while the right half is filled with zeros. In this state, there is a zero in the transmit sample circle apposing every received sample and a zero in the outer circle apposing every transmit sample; thus, multiplying apposite pairs and adding would give zero in this state. Now either the inner circle is rotated clockwise, or the outer circle is rotated counterclockwise, bringing S1 into apposition with Tn. Now S1 multiplies the conjugate of Tn, giving S1.T*_(n) while all other pairs give zero. This is the required first correlation. Further relative rotations of one circle relative to the other, with multiplication of the value in the outer circle by the conjugate of the value in the inner circle and adding, produces successively:

S1.T*_(n)

S1.T*_(n−1)+S2.T*_(n)

S1.T.*_(n−2)++S3.T*_(n) and so forth, which are the desired burst-wise partial correlations.

It is well known that cyclic convolution of two sequences can be efficiently performed by multiplying the FFT of one sequence by the conjugate of the FFT of the other and then inverse Fast-Fourier Transforming the result.

In the case of FIG. 16, the two sequences to be convolved are the received sample sequence padded out with as many zeros as transmit samples to be correlated and the transmit sequence padded out with as many zeros as received samples to be correlated. The maximum number of transmit and receive samples currently envisaged is 4,096, therefore size 8,192 FFTs would be used.

The 4,096 samples could represent 256 bits at 16 samples per bit, 128 bits at 32 samples per bit, all the way down to, for example, 16 bits at 256 samples per bit or even one bit at 4,096 samples. The number of samples and bits is merely exemplary and is related to the desired granularity of range. For example, correlating with 4,096 samples that span a 2 μs period gives a range granularity of:

0.5*3e8×2e−6/4,096 meters=7.3 centimeters or 3″ approximately.

The range resolution however is not the same as the granularity of calculation but depends on the sharpness of the autocorrelation function of the transmitted signal, which is the Fourier Transform of its power spectrum. When the number of bits per burst is small, the bandwidth is narrow, and the range resolution is much coarser than the granularity of calculation by a factor of approximately the number of samples per bit. Such oversampling of the range however may be useful if an algorithm is used to search for the correlation peak, which would occur after beamforming to raise the signal to noise ratio.

Frequency hopping from burst to burst is a way for spanning more bandwidth over the scan than the bandwidth used by one burst. It is also a way of dodging interference from other, non-collaborating radars. For example, if the burst format is 16 bits sampled at 256 samples per bit, giving 4,096 I,Q values modulated on to the 80 GHz carrier per burst, the I,Q values can be digitally phase-rotated in a phase ramp to digitally create a frequency offset. The phase ramp considered is an integral number m of 2π rotations over the burst. The phase rotation per sample is thus 2 mπ/4,096. Rotations of more than 180 degrees per sample would alias to rotations of less than 180 degrees in the opposite direction and moreover rotations of that magnitude would cause diametric signal transitions in the I/O plane, which are problematic in systems endeavoring to use nearly constant-envelope transmissions. Therefore, to stay well away from that region, the maximum rotation per sample allowed is 90 degrees per sample, so the value of m ranges from −512 to +512 maximum.

With digital phase rotation as a way of frequency hopping, the receiver might need to A-to-D convert the received signal at 4,096 complex samples per burst despite the fundamental bandwidth of the signal being much lower, were it not for the frequency offset. In one implementation, a similar phase ramp can be applied to the receive local oscillator to remove the phase ramp and center the received signal in a narrower bandwidth, allowing some analog narrowband filtering and thus a lower A-to-D conversion rate. Note that the response time of any narrowband analog filtering may result in a delay after the transmitter stops before received signals can be discerned. This ring-down time limitation on minimum range can be alleviated by blanking the filter's poles until after transmission stops e.g., by turning on a shorting MOSFET across capacitors. It can also be alleviated by at least partially restricting the signal bandwidth with digital filters that process the signal in time-reversed sample order. Nevertheless, the impulse of the analog filter must be allowed to build up before any signal is available at full amplitude, limiting the observation of very small delays.

If the A-to-D conversion rate is less than the 4,096 samples per burst proposed for convolution, the collected samples must be upsampled to that number. For example, if there are 32 bits per burst and the receiver samples the signal at 8 samples per bit to obtain 256 samples, then the 256 samples must be upsampled 16:1 to obtain 4,096 samples and the samples of each burst so upsampled shall correctly represent their frequency offsets from the mean.

The ideal interpolator for frequency limited signal samples is to perform a Fourier Transform on the samples and to then perform an inverse transform using a higher order Transform, with the higher order input frequency amplitudes set to zero, to obtain a greater number of output samples than input samples that are still spectrally contained to the spectrum of the original input. Thus, performing a 256-point FFT on 256 samples and plugging the 256-point spectrum into an 8,192 point transform along with 7,936 zeros and inverse Fourier transforming the 8,192-point array, will perfectly upsample the 256 samples to 8,192 samples. Moreover, by plugging the 256 frequency samples into the 8,192-point transform off-center, the desired frequency offset of the burst from the mean frequency of the scan is correctly modelled. It was explained above that the highest offset frequency considered is a phase ramp slope of +/−512 times 211 per 2 μs period. The frequency step size is 211 per 2 μs period, which is 500 KHz. The frequency step size of an 8,192-point transform having a time span of 2 μs is also 500 KHz. If frequency index 4,097 corresponds to zero frequency (DC) in the 8,192 point transform and frequency point 129 of the 256 point transform likewise corresponds to zero frequency, then inserting frequency point 129 from the 256 point transform into point 4,097 of the 8,192 point transform corresponds to zero frequency offset of the burst. If however, the burst phase ramp is m times 211 over the 2 μs period, corresponding to m×500 KHz offset, the frequency index 129 of the 256 point transform shall be inserted into frequency point 4,097+m of the 8,192 point transform, with other points likewise shifted, and zeros inserted elsewhere.

Since an 8,192-point transform is required for cyclic convolution, there is no need to perform an inverse transform at this stage; rather, the 8,192 point transform is multiplied by the conjugate of the Fourier transform of the 4,096 transmitted IQ samples padded with 4,096 zeros, and then the inverse transform is performed to obtain the desired set of partial correlations. If the transmitted waveform was generated with fewer than 4,096 IQ points, then it too may be upsampled using the same technique. If the transmit waveform was generated without digital ramping but frequency offset by modulating the local oscillator phase, then it too may have its frequency offset represented by plugging its smaller transform with the correct offset into the larger 8,292-point transform. In such cases it may be noted that effort can be saved by avoiding multiplies or adds with zero in any of the transform operations.

The above method is illustrated in the block diagram of FIG. 17.

Referring to FIG. 17, IQ samples corresponding to code bits to be transmitted, generated at several samples per bit, are streamed into the transmit I,Q modulator. The samples are also required in parallel for range correlation. It is not material whether samples are first assembled in transmit I,Q buffer memory 3000 and then streamed out at a given clock rate, or whether they are generated at a given clock rate on-the-fly and simultaneously collected in buffer memory 3000.

The I-sample stream enters I D-to-A converter 3000-A and the Q-samples enter Q D-to-A convertor 3000-B. The analog output signals from the D-to-A convertors are low-pass filtered in filters 3001-A and 3001-B. It is common for the digital samples to have been generated in a way that already controls the main part of the spectrum of the modulation so that low-pass filters 3001-A and B can be relatively wide, just to remove sampling frequency components and beyond. These filters are often known as “roofing filters”.

The now smooth analog IQ signals are applied to balanced modulators 3002-A and 3002-B along with Cosine and Sine carrier signals at the final radar frequency in the 80 GHz region. The balanced modulators can be Gilbert cells using MOSFETs fabricated in a 28 nM silicon process, or smaller.

Summing junction 3003 sums the balanced mixer outputs and feeds them to power amplifier 3004 and hence to antenna 3005.

The frequency of the cosine and sine carriers is a center frequency f plus an offset mdf in this method of frequency hopping. In this method, the transmit sample rate, D-to-A convertors and low-pass filters need only have a bandwidth commensurate with the modulation bitrate, and not commensurate with the wider bandwidth of the modulation plus frequency offset mdf. However, note the caution expressed above with regard to the minimum range of targets that can be detected due to longer filter impulse response times in either the transmitter, the receiver or both.

After the transmitted signal is reflected from target 3011 and received at receive antenna 3006, it is amplified in low noise amplifier 3007 and down-converted in balanced mixers 3008-A, 3008-B against 80 GHz cosine and sine carriers to obtain analog (baseband) I,Q signals. It is assumed that the cosine and sine carriers are at the exact same frequency f+mdf as in the case of the transmitter, so that the receiver is centered on the transmit frequency; but this is not imperative. If there is a difference in the transmit and receive local oscillators such that the receiver is not centered on the transmit frequency, it would be necessary to increase the bandwidth of low pass filters 3009-A and B and to increase the sample rate of A-to-D converters 3010-A and B to accommodate the modulation bandwidth plus the transmit-receive frequency offset. bin the case of a forward-looking radar, the transmit frequency may be slightly lowered by the one-way Doppler and the receive center frequency slightly raised by the one-way Doppler due to the radar's own speed, such that reflections from static objects are received with no Doppler shift. Small offsets, such as might be used as mentioned above to remove eigenvelocity, can be ignored.

The transmit and receive frequency offsets can be produced by digitally phase rotating the local oscillators, using balanced mixers in a single-sideband upconvertor configuration, or alternatively can be produced by synthesizer sidestepping. For the latter, a time-out of perhaps 4 to 8 μs must be taken to give the synthesizer time to settle after a frequency change, so this would not be the preferred method to change frequency between every burst, but rather would be used a few times per scan, that is once every 100 or so bursts.

After low pass filtering the received analog I,Q signals in filters 3009-A,B, they are A-to-D converted in 3010-A and B and the results collected in receive buffer memory 3100. Again, note that, if filters 3009-A and B and the sample rate of converters 3010A and B are too restrictive, the attendant long impulse response means that the receiver signal will not be fully developed in time to respond to very short delay echoes from very nearby targets. Methods to minimize this effect by receiver blanking during the transmit period and time-reverse processing were mentioned above.

Because narrowband filters are desirable to suppress other-radar interference, it is conceivable to have a dual-bandwidth receiver whereby the analog IQ signals are sampled in a wide bandwidth using a high A-to-D rate for an initial part of the receive period where early target echoes would be found and simultaneously low pass filtered by narrower band filters 3009A,B and A-to-D converted at a slower rate for sampling later echoes. Since both early and late processing would simply be different instances of the processing described herein, they will not be described separately.

Assuming that the receiver is centered on the transmitter frequency, and that the number of receive samples N1/2 collected over a burst in receive buffer memory 3100 is the same as the number of transmit IQ samples N1/2 collected in transmit buffer memory 3000, then it is desired to perform the zero-padded cyclic convolution of one with the other. Thus, the N1/2 samples of each are zero-padded to N1 samples and subjected to N1-point FFTs 3101 and 3102. The conjugate of the transmit sample FFT values are then multiplied point-by-point with corresponding values of the receive FFT in multiplier 3103. The result is N1 values, which if inverse transformed, would represent partial range correlations without regard to frequency offset. These cannot be accumulated with partial correlations from other bursts using different frequency offsets because frequency change completely alters the phase of an echo due to there being thousands of wavelengths distance to the target and back. To accumulate partial correlations from different bursts therefore, the FFT of their correlations from multiplier 3103 must be frequency shifted according to the frequency offset used and inserted into 8192-point IFFT buffer 3104 with the correct offset m from center. The spectral center or “DC” has been defined above as frequency index 4097 in the 8,192-point buffer and the corresponding DC term of the N1 transform is therefore placed into 8,192-point buffer position 4097+m. As explained above, m ranges from −512 to +512 as an exemplary number. Therefore, the N1 frequency points from multiplier 3103 are inserted into N1 positions of the 8192 point buffer centered on position 4097+m which can range between a center of 4097−512 to 4097+512.

In principle, it is possible to accumulate sets of N1 values additively from different bursts in an 8,192-point buffer before performing an inverse 8,192-point FFT. However, this would only yield range correlations for zero-Doppler targets.

To accumulate range correlations across different bursts taking account of the phase rotations due to different Dopplers, the range correlations have to be accumulated in many different ways corresponding to all Dopplers of interest. The number of Doppler frequencies that can be resolved is equal to the number of bursts in the scan, for example 4,095. Therefore, ultimately the number of range-doppler bins that will be populated is (4,095)² or over 16 million. It is likely that previous scans would be used to indicate a much-reduced subset of interest in order to save memory and processing, a process known as “sparsification.”

An alternative method of frequency hopping does not necessarily involve changing the local oscillator frequencies by applying a phase ramp thereto, but rather by applying a phase ramp digitally to the transmit IQ samples, which implies that the sample rate is large enough to represent both modulation and the largest frequency offset. In this case the receiver can be of either type but may also not choose to change its local oscillator frequency but simply use a bandwidth and A-to-D convertor rate that is large enough to represent both modulation and the largest frequency offset. It is clear that hybrids of both methods could also be used, where smaller frequency offsets are applied by digital phase ramping and larger offsets are applied by local oscillator frequency changes by either phase ramping or synthesizer side-stepping.

Due to the need to accumulate range correlations over many bursts taking account of different Dopplers, the contents of 8,192-point buffer 3104 are IFFTed for every burst to obtain partial range correlations rather than the Fourier transform thereof. These are held in a 2D memory with dimensions (range,time) where time refers to the time of the burst in which the range correlations were collected. This memory is in principle of size (rounded up) 4096×4096 or 16 megawords complex per VRX. This memory can be an external cache, as specific memory technologies are more cost efficient than combining bulk memory with custom processing. Alternatively, a smaller memory of sparsified range-time bins can be used. In this case the record in the memory comprises the range index, the burst number or time index and a complex correlation value.

The data from cache may be read back for Doppler analysis where an analysis for each range point is performed along the time axis with phase twists corresponding to different Dopplers.

The issue of range-walking has already been mentioned above, whereby a high-speed and thus high-Doppler target may not lie in the same range bin across the whole scan. If no attempt is made to deal with that, a blurring of both range and Doppler resolution results. However, because Doppler shift is rate of change of range, when an analysis is being performed to compute the correlation for a specific Doppler assumption, it can be exactly predicted how the target will move from one range to another, and thus the track through the range-time bins along which values are accumulated can shift range at the predicted times to follow the signal as it “walks” through successive range bins over the scan.

FIG. 19 illustrates the principle of range-walking compensated Doppler analysis. The range-time bins obtained by burst-wise partial correlations as just described are illustrated by a grid of points, each being a memory location holding a complex number. The different rows represent ranges spaced by the range resolution of about 7.3 cm or 3″ while the different columns represent burst times 4 μs apart. A zero Doppler correlation starts at a given range hypothesis on the left and accumulates values along a horizontal line without changing range, as indicated by the RED track. There are such horizontal tracks starting at every possible range on the left and ending at the same range on the right.

A medium speed Doppler correlation starts at a given point on the left, but knowing that, for the hypothesized speed/Doppler the target will get systematically nearer over the scan, the track moves up to a one-bin shorter range periodically at predicted times, as illustrated by the BLUE track. There is one such BLUE track starting at every possible range on the left. Alternatively, the range walking correlation can be usefully performed backwards. Starting at a given point on the right, accumulation of complex values occurs from right to left with the range increasing as the target gets further way at older times, (if it is oncoming, or the range reduces for older times if it is a receding target), the complex values being phase-un-twisted before accumulation based on the hypothesized Doppler shift. There is one such track for every terminal range on the right, and the advantage is target parameters related to the last range rather than an out-of-date range are successively obtained.

A high-speed, high-Doppler target has its Doppler accumulation track changing likewise through the grid, but shifting range more often, as illustrated by the PURPLE track.

A computer simulation can be performed in the absence of noise to observe the range-walking effect. In practice, a real radar may not have a sufficient signal-to-noise ratio before beamforming over all VRXs to display the effect satisfactorily. In the absence of noise, a simulation can produce a heat map corresponding to the grid of FIG. 19 in which color represents the magnitude of the complex value in the range-Doppler bin, as shown in FIGS. 20 and 21.

The axes of FIG. 20 are switched as compared to FIG. 19, with time (in bursts) running vertically and range running horizontally. Each row represents partial range correlation magnitude encoded to color according to the color scale on the right. Note that the picture has been increased in brightness by doubling the dB values so as better to see sidelobes that are many dB down.

The target amplitude is unity, which is color white. It may be seen that the white stripe migrates to one range bin shorter from the beginning of the scan at the bottom to the end of the scan at the top. The range bin sizes in this simulation were 0.5 ns delay apart, corresponding to one of the 4,086 burst samples and corresponding to about 6″ in go-return-distance or 3″ in range. That this is indeed commensurate with the speed may be seen as follows:

10 MPH=10×63360 inches/hour=10×63360/3600=176 inches per second. The scan period is 4095×4 μs=0.01638 seconds.

Change in range over the scan is 176×0.01638=2.88 inches which is approximately one range bin.

Thus, with range resolution as fine as 3″, since range-walking starts to be significant already at only 10 MPH, range-walking compensation is highly desirable.

FIG. 21 shows the range-walking that occurs at 50 MPH. At five times the speed of FIG. 20, it can be seen that the target echo does indeed migrate 5 times over the scan to progressively shorter-range bins.

After Doppler analysis, the cache memory holds range-Doppler bin values which replace the range-time bin values. Simulation in the absence of noise can also produce 2D heat maps with range-Doppler axes instead of the range-time axes of FIGS. 19,20 and 21. The most dramatic illustration of the benefits of range-walking compensated Doppler analysis is obtained by comparing range-Doppler heat maps for a 250 MPH relative target speed computed with and without range-walking compensation.

FIG. 22 shows the section of the total range-Doppler heat map containing a target initially at 250 m and approaching at 250 MPH uncompensated Doppler analysis results in blurring of the target echo energy in both range and Doppler over several hundred range Doppler bins with the result that the signal in each is 24 dB lower than the correct total echo energy.

In FIG. 23, range-walking compensation is used, and the energy has been compressed to a group of about four bins of the order of 3 to 6 dB down, which in fact could be due to the target straddling two discrete range and Doppler bins rather than being a processing loss.

The preferred method of compensation is to interpolate smoothly between range bins rather than the abrupt switching illustrated in FIG. 19. When a target straddles two range bins, the correlation in each is given by the +/− half-bin edge-loss of the autocorrelation function of the modulation, which is about −3 dB. Interpolation would therefore make a weighted sum of the two range bin values with weights of 1/√2 (−3 dB) and would produce a net contribution of 1.2 from each range bin and thus a net of unity, which is the true target amplitude. Obvious functions to use for interpolation are thus sine and cosine functions which take on values of 1/√2 at 45 degrees. We thus form: Interpolated value=Cos(θ) BIN(k)+Sin(θ) BIN(k+1) where θ=0 for range bin k, 90 degree for range bin k+1 and 45 degrees half-way between the two bins. When the target reaches the center of range bin k+1, replace k by k+1, k+1 by k+2, and reset the angle θ to zero so that interpolation now begins between bin (k+1) and bin k+2. This was the algorithm used for the range-walking compensation of FIG. 23. The value of 8 is calculated such that it changes by 90 degrees in the time it takes the target to move one range bin, which can be calculated exactly for each Doppler assumption being tested.

It was mentioned above that an extra (N+1)^(th) M-sequence bit is needed to fill bursts with N bits and keep different ones of the radar's transmitter signals orthogonal over the scan. This is true even if there are zero bits per scan, that is, the burst is filled with CW. The extra bit is used to determine whether the CW signal is one way up or the other way up as between different transmitters. The extra bit can form an M-sequence over the scan and a different shift of the M-sequence used for different transmitters, thereby ensuring near-orthogonality. Thus, a pure frequency hopping system with no burst code modulation can be envisaged. Each burst generates a phase ramping of the carrier signal corresponding to a chosen frequency offset. The ramping is preferably a phase change of an integral number of 2π radians over the burst, but not more than +90 degrees per sample. Each transmitter preferably uses the same frequency at the same time when the objective is to keep the momentary frequency occupancy over the burst low so as not to interfere with other radars except in the case of a random frequency clash. Thus, each transmitter uses the same phase-ramped signal but inverted or not inverted according to its assigned M-sequence bit for that burst. The correlation of a received echo signal with a transmit signal yields a VRX signal phase that depends on the frequency used for the burst. When the phase ramp changes the transmitter phase by 2 mπ over a 2 μs burst the frequency offset produced is m×500 KHz. Thus, the hop-set comprises frequencies spaced by 500 KHz. If the frequencies are used in order, increasing by 500 KHz each burst, the VRX phase produced will increase by an increment each time also. This systematic phase increase is removed when burst-wise correlations are accumulated according to the block diagram of FIG. 17. The correlation of one transmitter with the echo of another transmitter will not however accumulate coherently but will yield a result which is the sum of the M-sequence bits time a progressive phase twist, which is in fact a Fourier component of the M-sequence. Since M-sequences have a flat spectrum, the energy in this component is 1/M, which is 1/4,095, but only the square root of that in voltage terms. Thus, while the correlation of different M sequences is −1/M in voltage terms, which is −72 dB for M=4,095, it is only −36 dB in the case of an energy suppression of 1/M. Thus, a cross-correlation between different transmitters of −36 dB is expected.

If however, the hop-frequencies are not used in order lowest to highest, the resulting phase twist of the VRX signal form an order-scrambled Fourier sequence. The correlation of the scrambled Fourier sequence with the M-sequence is the same as a Fourier component of a scrambled M sequence which could be higher than 1/M. Therefore, in order to preserve the −36 dB cross-correlation between different transmitters, the order of use of M-sequence bits to differentiate them is tied to the order of use of frequencies in the hop set.

The main lobe of the autocorrelation function of pure frequency-hopped CW as described above is shown in FIG. 24 on a linear scale. It looks like and can be mathematically shown to be the sin(x)/x function.

FIG. 24A shows the function when computed by simulation of the radar, which is now quantized in steps of one sample.

The sidebands of a sine(x)/x) function do not fall off very quickly, as can be seen in FIG. 25 which shows the full autocorrelation function, falling to −66 dB at the extremes.

In calculating FIG. 25, hop frequency signals on either side of zero, which are respectively Exp(−jwt) and Exp(+jwt) were combined to Cos (wt). It was realized that this gave them a weight of 0.5 while the DC term, that has no negative partner, remained with a weight of 1, causing a DC bias. Giving the DC term also a weight of 0.5 made the simulated hopping spectrum flat, as intended, improving the ultimate skirts of the autocorrelation function to −72 dB as shown in FIG. 26, which also shows the main lobe on a dB scale.

When a function shown on for example a ‘scope or spectrum analyzer has wild ripples or noise, sometimes called “grass” because of the traditional green ‘scope trace, a video filter is sometimes used on the ‘scope signal to smooth out the ripples. It would indeed be possible to run a short FIR filter across the range correlations and it was determined that an appropriate filter would be: 0.5Z+1+0.5Z⁻¹.

The effect of this “video filtering” is shown in FIG. 27 to have taken the skirts down to −120 dB. FIG. 28 shows that the effect on the main lobe of the video filtering is to broaden it somewhat, corresponding to an increase in range resolution from 3″ to about 6″.

Another way to reduce the skirts without broadening the main lobe is to add code bits within the bursts, that is to use an “N” greater than 0 and in the region 16 to 256, always with the (N=1)^(th) bit for reasons previously described. The effect of placing code bits in the burst would be expected to produce an autocorrelation function which was the product of the pure FHCW autocorrelation function and the code autocorrelation function, which is much wider. The width of the FHCW main lobe is approximately one sample while the width of the code autocorrelation is roughly one bit, so its autocorrelation function is wider by a factor equal to the number of samples per bit. FIG. 28A shows the autocorrelation function of code alone, with no frequency hopping, and FIG. 28B shows the shape of the correlation peak for code and FH combined as the total hop bandwidth is increased, eventually having the shape of FIG. 24A at maximum hop bandwidth.

Yet another way to lower the autocorrelation skirts is to employ a weighting function across the different frequency points correlated. Rather than deweight different bursts, which weakens their contribution to defeating noise, certain frequencies can be emphasized more than others by including them twice or more in the total number of hop frequencies.

Frequency hopping worsens the code autocorrelation function for range-to-range cross-correlations from sidelobes of magnitude 1/M (−72 dB) to 1/√M as previously explained. The resulting range-range cross-correlation function is shown in FIG. 29. FIG. 29 shows the peak correlation of a target at 150 m and the sidebands thereof extending down to zero range at left, where they are about −36 dB mean, and extending up to 300 m range at right, where the cross-correlation improves to −55 dB mean because the burstwise partial correlations are based on more bits. FIG. 29 was simulated without linking burst bit content to hop frequency. FIG. 30 shows the improvement at longer ranges of linking burst bit content to hop frequency.

There was a hint that the phenomenon seen in FIG. 30 was dependent on the selection of M-sequence shifts to place in successive burst bits. FIG. 14 illustrated the selection of adjacent M-sequence shifts for adjacent bits in the burst. Experiments were then carried out using different selections of the spacing of M-sequence shifts to place in adjacent burst bits. Different selections resulted in different cross-correlation functions when the bit content was still linked to hop frequency, and a spacing of 2 appeared to give useful results for all main lobe ranges. FIG. 31 illustrates the function for a target main lobe at 50 meters. Thus, the burst content of a burst may be b₁ b₃ b₅ . . . b_(2N−1) for one hop frequency and b₃ b₅ b₇ . . . b_(2N+1) for the adjacent hop frequency, irrespective of the burst/time at which it is transmitted. Bit content is thus linked to hop frequency rather than burst order in the scan. Note that because 4,095 is odd, a bit spacing that is not a factor of 4,095 will eventually wraparound and use all 4,095 bits in 4,095 bursts.

Much experimentation with different shift spacings and M-sequences remains, to determine if further improvements are possible, which can be performed by a person skilled in the art based on the teachings above.

It has thus been described how range correlations can be performed with arbitrary IQ sample content in bursts, ranging from pure FHCW ramps to mixed FH and code modulation and eventually to pure code with no FH. It has been described also how the partial correlations are combined by FFT or preferably range-walking compensated analysis to separate targets by Doppler shift. It is appropriate to mention at this point that, to avoid confusion between the phase changes of burst correlations caused by hopping to systematic phase changes caused by Doppler, the phase changes due to the hopping frequency pattern should be as unlike the systematic phase ramps of a Fourier sequence as possible. One type of frequency hopping would be adaptive avoidance of interfering radars. In that case, a running metric can be kept of the resemblance to a Fourier sequence and priority given dynamically to frequency choices for subsequent bursts that decreased the resemblance.

Frequency hopping has the desirable characteristic that, unlike CDMA, the interference to or from other devices is related to the probability of a clash and not very dependent on the strength of the interference. The latter is called the “near-far” tolerance, which is much better for FH than CDMA. Moreover, damaging clashes can be detected by a sudden increase in signal level, and excised from subsequent processing.

FIG. 32 shows the range-Doppler resolution for a 50 MPH target at 50 meters range using Range-walking compensation with no frequency hopping interference. The wanted target is the white square which corresponds to zero dB amplitude.

FIG. 33 illustrates the effect of 50% erased hops. When 50% of interfered hops are excised from the processing, the result is scaled up 2:1 to compensate, so the wanted target amplitude remains unchanged. It can be seen that surrounding range Doppler bins increase in level but the wanted target is still clearly visible. FIGS. 34 and 35 show the same effect with 70% and 85% erasures respectively, indicating that frequency-hopping is very tolerant of interference as regards being able to detect the strongest signal. It will be explained during the following discussion on beamforming that it is only necessary to be able to detect the strongest signal, and then subtracting it out removes all of the energy that it also created in other range-Doppler bins due to imperfectly orthogonal cross-correlation or frequency hop erasures. Moreover, FIGS. 33, 34, and 35 are for one VRX, before beamforming, and it is not known if the unwanted energy in other range-Doppler bins will even form a beam.

Once a set of complex numbers is achieved for all VRXs for the same range and Doppler, beamforming over the VRXs can be carried out to separate targets also by Azimuth and elevation. The beamforming algorithms to be described are independent and agnostic of which of the above methods is used to produce a set of range-Doppler bins per VRX.

Beamforming will be described in terms of:

-   -   The geometry, coordinate system and mathematics involved;     -   construction of sparse arrays with low grating lobes;     -   sidelobe-reduction beamforming algorithms; and     -   the on-chip beamforming engine.

FIG. 36 shows the geometry of a planar antenna array receiving signals from a target located at a boresight with azimuth angle AZ or θ and elevation angle Elev or φ.

Letting θ be the Azimuth angle of a target at distance R.

Letting φ be the Elevation angle of the target.

Then the target's coordinates are X=R cos(φ)sin(θ); Y=R sin(φ); Z=R cos(φ)cos(θ).

The plane of the array is the X,Y plane with Z=o. Consider an antenna in the plane of the array located at (x,y,0). The distance from the antenna to the target is: d=√(R cos(φ)sin(θ)−x)²+(R sin(φ)−y)²+(R cos(φ)cos(θ))².

d=√R ²−2R(x cos(φ)sin(θ)+y sin(φ))+x ² +y ²

d=R√1−2(x cos(φ)sin(θ)+y sin(φ))/R+(x ² +y ²)/R ²

which for large R compared to (x,y) is

R(1−(x cos(φ)sin(θ)+y sin(φ))/R)=R−x cos(φ)sin(θ)−y sin(φ).

The amount R is common all antennas so does not affect relative path distance and so can be dropped.

The path phase shift factor between target and the antenna at (x,y,0) is therefore:

Exp[−jK(x cos(φ)sin(θ)+y sin(φ)

where K is the “wave number”=2Ø/λ.

Phase factor=Exp[−jK·x cos(φ)sin(θ)]·Exp[−jK·y sin(φ)].

Thus, the phase factor is the product of two-phase factors, one depending only on the antenna's x-coordinate in the array and the other depending only on the antenna's y coordinate in the array. The first is the same for all antennas with the same x coordinate and the second factor is the same for all antennas with the same y coordinate.

In a MIMO radar, N_(rx) receivers have coordinates {x_(rx)(i),y_(rx)(i)}, i=1:N_(rx) and N_(tx) transmitters have coordinates {x_(tx)(j),y_(tx)(j)}, j=1:N_(tx). The total phase factor for sum of the go and return distances is the product of the phase factors for each of the go and return distances, that is:

e ^(−jK·xrx(i)cos(φ)sin(θ)) e ^(−jK·yrx(i)sin(φ)) e ^(−jK·xtx(j)cos(φ)sin(θ)) e ^(−jK·ytx(j)sin(φ));

which can also be written as:

e ^(−jK[xrx(i)+xtx(j)] cos(φ)sin(θ)) e ^(−jK[yrx(i)+ytx(j)]sin(φ)).

Using the convention that the virtual radar location is the sum of the Tx and Rx coordinates therefore, the location

[(x_(rx) (i)+x_(tx) (j)), (y_(rx) (i)+y_(tx)(j))] is the virtual radar location which can be renamed [X_(vrx)(1),Y_(vrx)(1)].

Therefore, given the virtual radar antenna locations and the target azimuth θ and elevation φ the received signal phases at the virtual antennas can be calculated.

Unshaped beamforming comprises multiplying each signal that is received by receiver(i) from transmitter(j) by the conjugate of the above factor (just dropping the minus sign) and summing over i and j so as to phase them all together, producing a beam that is probing for a target in the direction (θ, φ).

Traditional radar rotated the antenna mechanically to produce beams in different directions at successive times. When an antenna array is used and the signals are captured digitally, they can be processed in different ways to form beams in all directions simultaneously.

It is advantageous to compute beams in equal increments of variables u=cos(φ)sin(θ) and v=sin(φ) rather than in equal increments of θ and φ.

The above phase factor can then be written:

e ^(−jK[Xvrx·u+Yvrx·v]).

Xvrx·u+Yvrx·v is the dot product of the antenna location coordinates with the sightline direction cosines (u,v) and represents the antenna vector offset from array center resolved in the sightline direction, which is the relevant distance that causes relative phase shifts between antennas.

The maximum possible value of u=cos(φ)sin(θ) is ±1 and likewise the maximum possible value of v=sin(φ) is ±1. Therefore, the range ±1 may be divided into 2Naz equal steps of 1/Naz and u is allowed to range from an integral number of steps Iaz=−Naz steps to Iaz=+Naz steps to cover −90 to +90 degrees of azimuth. The same steps could be used for Elevation, but typically only a smaller range of elevation is of interest in automotive radar, so v only ranges from an integral number of steps Iel=−Nel steps to Iel=+Nel steps where Nel<<Naz.

Beamforming is also simplified if the VRX locations are all on a regular grid, even when the grid points are sparsely populated, and if the grid spacing is a multiple of some integral fraction of a wavelength. For example, if the grid spacing is λ/16, then the VRX locations can be expressed as (Ix,Iy) λ/16.

The phase-retarding distance then becomes:

Xvrx·u+Yvrx·v=λ(Ix·Iaz+Iy·Iel)/(16Naz).

Then multiplying by the wavenumber K=2π/λ, obtain the phase retard:

2π(Ix·Iaz+Iy·Iel)/(16Naz).

Letting ω=−2π/(16Naz), the phase factor then becomes:

ω^(|Ix·Iaz+Iy·Iel|16Naz).

The integer Ix·Iaz+Iy·Iel may be reduced modulo 16Naz as additional factors of 2π do not change the complex exponential value. Thus, only 16Naz values arise which could be stored in a lookup table addressed by |Ix·Iaz+Iy·Iel|16Naz.

Beamforming comprises calculating the 2D array of complex numbers B(Iaz, Iel) for all Iaz and Iel of interest as shown by the following pseudocode:

FOR Iaz=−Naz to +Naz

FOR Iel=−Nel to +Nel

B(Iaz,Iel)=0

FOR Ivrx=1 TO Nvrx

k=|Ix(Ivrx)·Iaz+Iy(Ivrx)·Iel|16Naz

BEAM((Iaz,Iel)=B(Iaz,Iel)+VRX(Ivrx)ω^(k)

Next Ivrx

Next Iel

Next Iaz

The above pseudocode accumulates, for each beam azimuth and elevation direction, all Nvrx VRX signal values numbered VRX(1) VRX(Nvrx), phase-twisted by a power k of w that is proportional to the quantized antenna location vector (Ix(Ivrx), Iy(Ivrx) in the plane of the array resolved in the direction given by the azimuth and elevation variables u and v quantized to Iaz,Iel steps of 1/Naz.

The above is an efficient method for computer simulations, but a much more efficient hardware implementation has been devised for chip implementation.

The variable u=cos(φ)sin(θ) is allowed to range from −1 to +1 to cover the azimuth range −90<θ<+90, but u can only have a magnitude of 1 at θ=+90 when elevation φ=0. FIG. 37 illustrates that not all beams computed as above thus necessarily represent physical directions. The number of meaningless values computed however is negligible when the range of interest of elevation is only say +/−7.12 degrees.

In FIG. 37, the outer square represents the range u=±1, v=±1, but only the grey circle contains physical positions. The grey circle is in fact the hemisphere in front of the radar, which is its entire field-of-view. (u,v) values between the grey circle and the outer square are not physical locations. The green area represents a restricted range of elevation that is of interest for automotive radar. If beamforming is performed over a rectangle encompassing the green area, only a few locations at the edges will be non-physical beam locations and thus the wasted effort in computing them is small.

When the antenna array to be subjected to beamforming is a linear array of regularly spaced antennas with no gaps, beamforming can be efficiently performed with a 1-dimensional FFT. The beams span exactly ±90 degrees when the antenna spacing is λ/2. If the antenna spacing less than λ/2, some of the beams so computed will represent non-physical locations; when the antenna spacing is greater than λ/2, the beams will span less than ±90 degrees, but objects beyond that span and up to 90 degrees away will exhibit a phase change between antenna elements greater than 180 degrees which cannot be distinguished from a phase change of between 0 and −180 degrees. The object will thus be aliased to a “grating lobe” on the other side of the scan.

Regularly spaced arrays on a rectangular grid with every grid point occupied can also be efficiently beamformed with a 2D FFT. If the number of rows is N1 and the number columns is N2, then beamforming comprises performing N2-point FFTs along rows followed by N1-point FFTs along columns of the first FFT output values. The behavior with different antenna spacings is the same as for the 1D case but in each dimension separately.

If antenna spacings are not regular, but irrational values, then beamforming is performed by multiplying the antennas signals with a matrix of steering vectors, the elements of which are ExpjKX^((vrx·u+Yvrx·v)) as shown above, which phases however are not now integer multiples of a basic phase shift unit, and so the beamforming cannot done fast with an FFT.

If the antenna spacings lie on a regular rectangular grid, but not every grid point is populated, the array is termed a “sparse array.” Beamforming can be carried out using a 2D FFT, but the sizes of the FFTs have to equal the total number of grid points spanned by the array in each dimension, which can be much greater than the number of antennas elements of the sparse array. The use of FFTs in that case could involve more computation than treating the array as an irrationally-spaced array. In either case, when a sparse array is beamformed, sidelobes/grating lobes arise due to the missing grid points cause different beams to no longer be orthogonal.

In a MIMO radar, the VRX array to be beamformed arises from a conjunction of the transmit and receive antenna arrays. Each pair comprising a transmitter and a receiver gives rise to a VRX at coordinates which are the sum of the transmitter and receiver coordinates. FIG. 38 shows one such VRX array that arises from the transmitter and receiver array below it. The lower part of FIG. 38 shows an array of 16 transmitter locations indicated by red X's and 16 receiver locations indicated by white O's. The virtual antenna locations (VRXs) are computed by forming all 256 possible sums of the coordinates of a Tx antenna with the coordinates of an RX antenna. The Tx and Rx antennas were located on a nominally λ/2 grid, but not every point is populated. The actual positions of the antennas are given in units of λ in FIG. 39. The effect of some antennas being on odd multiples of λ/2 and some on even multiples of λ/2 results in a set of 256 VRXs show at the top that are located on a grid with horizontal spacing λ/2 but vertical spacing 3λ. The VRXs exhibit 8 antennas on each of 32, 3λ-shaped horizontal lines and various numbers of antennas have one of 106 λ/2 spaced horizontal coordinates, of which 6 are unpopulated.

Placing a unit amplitude target signal at 0 degrees elevation and azimuth, the resultant beamforming of the array of FIG. 38 is shown in FIG. 40 over the entire hemispherical field of view, that is with u and v each varying over the range ±1. FIG. 41 shows the range corresponding only to physical locations. It is oval merely because of the aspect ratio of the page. The wanted target is the green spot in the center of the image, having an even smaller white spot in its center corresponding to unit amplitude. All similar green spots, particularly those above and below, represent unwanted grating lobes or aliasing. The aliasing in the vertical dimension is due to the 3λ vertical antenna spacing. The number of elevation points computed (±Nel) is +32 steps of 1/256 in v, so the maximum value of sin(φ) is ⅛th. Thus, φ ranges over +/−7.18 degrees. This can be tolerated because the F,O,V of interest is only about ±7 degrees in the elevation direction.

FIG. 42 shows the picture restricted to +7.12 degrees of elevation. Targets above and below are attenuated by choosing the antenna element vertical patterns to be narrow in the vertical plane but yet wide in the horizontal plane. One type of antenna element used to achieve this is a waveguide slot array. It can be seen that there are many sidelobes that are only of the order of −6 dB relative to the wanted main lobe in the center and the worst grating lobes are those at +/−90 degrees just above and below the horizontal plane.

An interesting feature of computing beams in u,v space is that the image is doubly periodic. That is, if the wanted signal is shifted to the left, the entire image of FIG. 40 shifts to the left and sidelobes that were in non-physical positions now shift into physical positions. Likewise, the entire image of FIG. 40 shifts up or down cyclically upon shifting the wanted target up or down.in elevation. Thus, the sidelobes at +/−90 degrees cannot be ignored as with non-central targets they move well into the wanted F.O.V. FIG. 43 shows the shifting of the sidelobes into the main F.O.V. FIG. 43 was also computed in equal increments of azimuth and elevation angle instead of equal increments of u and v, in order to show the stretching distortion, the edges due to the non-linear cosine and sine functions. Thus, it is only when using (u,v) coordinates that image merely shifts cyclically when the target changes position.

Sidelobes are proportional in amplitude to the target signal from which they derive; therefore, a method of preventing sidelobes from being mistaken for false targets was developed, based on identifying through beamforming the strongest echo, and then subtracting it, which also removes its sidelobes, revealing weaker targets beneath. The second strongest target is then identified and subtracted, and so forth. Before describing successive subtraction in signal strength order in more detail however, steps taken to reduce sidelobes of a sparse array will be described.

Co-filed and commonly owned patent application Ser. No. 17/582,437, entitled “Sparse Antenna arrays for Automotive Radar,” described a systematic way to arrive at Tx and Rx arrays that will produce a VRX array having the lowest possible sidelobes. This application was incorporated by reference above in its entirety. The inventive sparse arrays are based on the realization that every pair of antennas produces a main lobe, which when the antennas are all properly phased is in the same place for all pairs but produces sidelobes in different angular positions depending on the vector joining the two antenna locations. Thus, if different pairs of antennas have vectors joining them that are all different, in both length and direction, they will not produce sidelobes in the same place that are additive, but rather the sidelobe energy will be more evenly spread over the F.OV. The optimum design of sparse arrays to achieve the above has a strong synergy with the theory of differential arrays.

Beamforming of an array can be expressed in matrix/vector form as follows:

Using the definition of variables as in the mathematics above, to form a beam in direction (Iaz, Iel) with VRX antennas having locations in the plane of the array given by Ix(Ivrx), Iy(Ivrx) where Ivrx is the index of the VRX, each VRX signal is phase-untwisted by multiplying it by ω^(k)

where k=|Ix(Ivrx)·Iaz+Iy(Ivrx)·Iel|_(16Naz).

Placing the 256 values of ω^(k), one for each VRX, in a row vector V, and placing the 256 VRX signal values in a column vector S, the complex value B of a beam in the direction with indices Iaz, Iel is B=V·S.

If row vectors for each beam direction are arranged under each other to form a matrix [V] of size (2Naz+1)(2Nel+1)×256, then the beam values are given by the (2Naz+1)(2Nel+1)-element column vector B=[V]S.

It would be normal to enquire which of the computed beams was the strongest, in other words, the magnitude of the beams is of primary interest and not their phase, which depends on the arbitrary reflection coefficient of the target object. Whether the beams are compared in magnitude |B|, magnitude squared |B|² or in dBs as 20 Log₁₀|B| or 10 Log₁₀(|B|²) is immaterial.

The magnitude squared of a single beam B=V·S is given by:

B*B=S^(#)[V^(#)V]S, where # means conjugate transpose. This is the sum of each VRX signal value times the conjugate of another weighted by a phase factor V that is a complex exponential of the difference in phases between them due to the conjugation of one of the V's; namely elements of [V^(#)V] are of the form ω^(|Ix(Ivrx1)·Iaz+Iy(Ivrx1)·Iel−Ix(Ivrx2)·Iaz−Iy(Ivrx2)·Iel|16Naz) or

ω^(|{Ix(Ivrx1)−Ix(Ivrx2)}·Iaz+{Iy(Ivrx1)−Iy(Ivrx2}·Ie1)·Iel|16Naz).

That is, it looks like beamforming with antennas, the coordinates of which are the difference {Ix(Ivrx1)−Ix(Ivrx2)}, {Iy(Ivrx1)−Iy(Ivrx2} between pairs of antenna coordinates for Ivrx1 and Ivrx2. These are called “differential VRXs” or DVRXs. If there are 256 VRXs, then there are 256² DVRXs, but they are not necessarily all in distinct virtual locations. Obviously, there are 256 DVRXs at location (0,0), corresponding to the 256 times Ivrx1 and Ivrx2.are the same VRX, and there may be others that accidently have the same location.

Due to the periodicity of the beamformed pattern in (u,v) coordinates, it is only necessary to consider the sidelobe pattern for a target located at (0,0). The pattern for any other target position is the same, merely shifted cyclically in (u,v) space, while maintaining the same separations and amplitudes of sidelobes relative to the main beam. Thus to form any beam, the phase factors are first applied to each VRX (i.e., form R=S·V element by element without implied summation, R now being a column vector of the same size as S and V as indicated by the overlining, and then these may be summed with weights equal to 1 to give the magnitude square of the beam, that is:

|B|²=R^(#) [1] R, where [1] is a matrix with unity in every position. Calculating the above for every beam produces a set of differentially-beamformed beams which, however, is exactly the same as normal beamforming followed by taking the modulus squared of the beams.

Because there are repeated locations among the DVRXs, flat weighting of the DVRXs all with 1 is not flat location weighting. Because all DVRXs corresponding to the diagonal of the matrix [1] have the same location, that location is 256:1 overpopulated. Therefore, the diagonal of the matrix can be reduced by a factor 256, and any other elements in the matrix corresponding to duplicated VRX positions can be divided by the number of times the position is duplicated in order to produce flat location weighting.

FIG. 44 shows the radar image of a cluster of four strong nearby targets formed with the VRX array of FIG. 38. FIG. 45 shows the same cluster of targets imaged with the DVRX array form with the VRXs of FIG. 38, after position-weight flattening. It is evident that there is an improvement in the discrimination between nearby targets, and in sidelobe level reduction.

The DVRX array formed by the VRX array of FIG. 38 had many repeated locations and this is considered a waste of antenna resources. To avoid duplicated locations and obtain the greatest number of distinct DVRX locations, it is desired that the vector differences in distances between every pair of VRXs should be as far as possible distinct. This is the problem for which a method of solution is developed in the above-incorporated Sparse MIMO arrays patent application.

The expression B=R^(#) [1] R above can be factorized by noting that any matrix [G] can be expressed as [E][Λ][E] ^(T) where [E] is the matrix of Eigenvectors of [G] and [Λ] is a diagonal matrix of its eigenvalues. Since:

Therefore, B=R^(#)[1] R=R^(#)[E][Λ][E]^(T) R=B^(#)[Λ]B where the vector B is obtained by beamforming R with the Eigenvector matrix [E] of the matrix of all 1's, [1].

The magnitude squared of each of the beamformings with different eigenvectors are then weighted with the corresponding diagonal elements of [Λ] and added. However, a matrix of 1's having all the rows the same has rank of only 1 and therefore only one non-zero eigenvalue exists equal to 1/256, the corresponding eigenvector of which is all 1's. Therefore, only one beamforming is necessary, the magnitude of which will be the desired answer.

However, after position weight-flattening, the matrix [1] is no longer all 1's and has different eigenvalues, half of which are positive and the other half negative. Differential beamforming then amounts to performing 256 beamforming, each with different eigenvector, and adding or subtracting the results according to the sign and weight of the corresponding diagonal element of [Λ].

Unfortunately, full differential beamforming done any way is 256 times more onerous than regular beamforming, which is prohibitive. After experimenting by using only the largest positive eigenvalue and the largest negative eigenvalue, it was realized that the two beamforming weights were no longer constrained to be Eigenvectors of anything, and the corresponding eigenvalues could be premultiplied into the weight vectors. Therefore, two length 256 weight vectors, called Gplus and Gminus were defined, and their values sought that would give the most desirable beam patterns, defined as unity gain to the wanted target and minimum worst case sidelobe level. In one implementation, a first beamforming would form for every direction, Bplus=Gplus·R and a second beamforming would form Bplus=Gminus·R and then the magnitude squared of the beam would be given by |Bplus|²−|Bminus|². Moreover, the sum of the Gplus values is constrained to be unity so as to give unity gain to the wanted signal when all VRXs add in phase, and for the same reason the sum of the Gminus is constrained to be zero, so that it is does detract from the wanted signal amplitude. The above expression would be converted to an amplitude in dBs by:

10 Log₁₀(∥Bplus|²−|Bminus|²|) The additional modulus brackets ∥ ensures that |Bplus|²−|Bminus|². is always rendered positive within the log function. The expectation is that an optimum choice of Gplus and Gminus will result in the sidelobes of Bplus and Bminus canceling without affecting the wanted signal amplitude.

If indeed the sidelobes of Bplus and Bminus could be similar in amplitude after squaring, a further thought was that they might also be similar in amplitude before squaring, so that the expression ∥Bplus|−|Bminus∥ could be equally valid, but with the advantage that it converts to dBs by

20 Log 10∥Bplus|−|Bminus∥.

Addings or subtracting the results of two or more beamformings is not the only conceivable way of combining different beamformings to reduce sidelobe levels from a sparse antenna array. Another conceivable method is to perform several beamformings using different weighting functions, each constrained to give unity gain in the wanted direction, and then to determine the minimum response in each direction. Since the different have unity gain to the wanted target, all of the beams will have equal response to the target but will exhibit sidelobes of different amplitude and/or in different places. Therefore, taking the minimum across all does not reduce the wanted signal response but retains the lowest sidelobe of all in each direction.

The general principle of combining multiple beamformings is shown in FIG. 64. At step 6402, the set of VRX values corresponding to a given range and Doppler is phased using a steering vector to produce a main beam in the direction given by the steering vector. At step 6404, the VRX signals are weighted by different weighting functions and combined to produce multiple candidate beam amplitudes. At step 6406, the beam amplitudes are computed on any monotonic scale that preserved relative magnitude, such a amplitude squared, modulus or decibels, under the assumption that minimum sidelobe amplitude is the goal. At step 6408, the different beamformings are combined, for example by retaining at step 6510 that which gave the minimum amplitude, or by adding some and subtracting others in a predetermined way such as the |Bplus|−|Bminus| combination described in this application.

While some analytic methods were found for minimizing the sum of sidelobe levels, minimizing the worst sidelobe level (a MINIMAX problem) is too non-linear for analytic solution. Therefore, a Monte Carlo search was used for optimum weighting functions Gplus and Gminus, for which several significant program acceleration algorithms were found.

The Monte Carlo search for best for a best length 256 Gplus and best length 256 Gminus is a 512-variable optimizing problem. The figure of demerit to be minimized is the sidelobe of greatest amplitude anywhere in the F.OV. excluding a keep-out area around the main lobe. As there are (2Naz+1)(2Nel)+1) beams to consider, where Naz=256 and Nel=32, this amounts to 33,345 beams to consider at each iteration, less the keep-out area. The keep-out area was tailored to mask the main lone and consisted of an ellipse of principal radii 15 steps in the u direction and 6 steps in the v direction. Within this ellipse, values are set to zero after beamforming as indicated by the black hole in FIG. 51.

The first acceleration algorithm noted that, if a new modified Gplus,Gminus pair does not reduce the beam that was previously the largest, then the solution can be rejected based on recalculating only that beam. Thus a new beamforming is only carried out after finding a new Gplus,Gminus that reduces the previous worst case beam, as shown in the flow chart of FIG. 52.

Referring to the flow chart of FIG. 52, at step 5202, the MINIMAX value is set to something large such as 1.0e16 and Gplus and Gminus are set to initial values such as all Gplus values equal 1/256 and all Gminus values are zero. At step 5204, an initial beamforming is done with the initial Gplus, Gminus and the worst case sidelobe amplitude is found in step 5206. At step 5208, the largest sidelobe just found is compared with MINIMAX and if it is greater, the algorithm proceeds to step 5210, where previous values of Gplus and Gminus are retained, and then proceeds to step 5214; else, if the worst case sidelobe is an improvement over the current MINIMAX value, the algorithm proceeds to step 5212 where the Gplus, Gminus values are saved as the best so far, MINIMAX is set equal to the new, lower worst-case sidelobe level and the index of the worst case beam is saved. Then the algorithm proceeds to step 5214.

At step 5214, Gplus and Gminus are randomly perturbed, keeping the sum of the Gplus equal to 1 and the sum of Gminus equal to zero. This can be done by forming the sum of Gminus values after perturbation and subtracting 1/256th of the sum from each. In the Gplus case, form the sum and subtract 1/256th of the difference between the sum and unity from all; alternatively, divide by the sum.

At step 5216, only the beam that was previously the worst case, the indices of which were saved in step 5212, is recomputed with the new Gplus, Gminus values, and the amplitude compared with the previous worst case at step 5218. If it is worst, the new Gplus, Gminus are rejected and a return to step 5210 takes place, otherwise proceed to step 5220. Steps 5220, 5222, 5224, 5226, and 5228 comprise a loop to recalculate all beam values, monitoring at step the loop 5224 whether any beam is worse than the previous worst sidelobe. If any beam is worse, then a return is made to step 5210, otherwise if all beams are recalculated without a return to step 5210, a new better solution has been found and a return is made to step 5212 to save it as the current best.

FIG. 53 shows an even faster Monte Cralo MINIMAX algorithm. Steps 5302 and 5304 perform an initial beamforming with initial Gplus,Gminus values as in FIG. 52. At step 5306 however, the sidelobes are sorted in amplitude order highest to lowest. Actually, no value is moved during the sort; rather, a linked list is developed where an initial address provides the index of the largest sidelobe, and a linked list value addressed by the same index gives the index of the next largest value. It was found that, because two linked lists can be merged in place, the usual split, recur and merge sort algorithm can be performed in-place in a time O(n Log(n)).

The purpose of the sort is the expectation that testing beams with a new Gplus, Gminus value is likely to reject a worse solution more rapidly if the previously strongest beams are tested first. Thus, steps 5312 to 5320 are analogous to the loop of steps 5220 to 5228 in FIG. 52 except that the beams are rested in sorted order. If the loop gets all the way through without rejecting the solution with a return to step 5308, then at step 5322 the new improved values are saved and a return is made to step 5306 to resort the newly computed beam values.

The algorithm of FIG. 53 was found to reject bad solutions in orders of magnitude fewer than 33,345 beam calculations. Only if the search gets through testing all 33,345 beams without finding one that is stronger than the previous worst case sidelobe is a new solution found and retained, and now a complete set of new sidelobe values has just been calculated and is resorted. Thus 33,345 beams are only calculated whenever a new improved solution is found.

The improved VRX array produced by the incorporated and co-filed Sparse MIMO arrays application is shown in FIG. 46. Only the vertical grid lines are shown, as the number of different vertical coordinates is now too numerous to show a horizontal line for each. Both the Tx and Rx arrays as well as the resulting VRX array now look more random and less systematic in pattern, which is exactly what was determined to be desirable for minimizing sidelobes.

The sidelobe pattern of the array of FIG. 46 using standard VRX (sum-array) beamforming with flat weighting is shown in FIG. 47. By comparing with the sidelobe pattern of FIG. 38, it is evident that the worst case sidelobes have been much reduced, and in particular, the largest ones that were at ±90 degrees have vanished. This array is a good starting point for now applying the Gplus/Gminus beamforming derived above from simplifying differential beamforming.

FIG. 48 shows the beam Bplus found by using the weighting function Gplus alone, as determined by Monte-Carlo optimization. It seems mainly to have reduced the sidelobe levels to the immediate upper right and lower left of the main beam, which were the largest for this array.

FIG. 49 shows the beam pattern Bminus produced by beamforming with weights Gminus alone. It may be remarked that there is very small null dead center over the main beam so that the Bminus beam does not dilute the wanted signal amplitude when subtracted. It may also be remarked that the two yellow sidelobes to the immediate upper right and lower left of center are also present in the Gminus beam, and thus we hope for cancellation.

FIG. 50 shows the beam pattern by using ∥Bplus|−|Bminus∥ which is converted to dB by a 20 Log₁₀ operation. It is possible that optimization has caused the sidelobes of Bminus to substantially cancel the sidelobes of Bplus with the result that the worst case sidelobe achieved is −24.18 dB relative to the main lobe. At this level, it no longer threatens to confuse the determination of the strongest signal even when there are many signals in the F.O.V., each producing sidelobes that may combine constructively or destructively depending on the relative phase of target echoes, which are continuously changing.

“Contrast” in a radar refers to the ability to detect weak targets in the presence of strong targets. The method developed to improve contract here comprises detecting the strongest target by beamforming a given set of VRX signals for a given range-Doppler bin, subtracting its contribution to the VRX signals, and then beamforming again with the strongest target signal gone to detect the second strongest target, and forth. The basic method of subtracting a target signal from the VRX signals is to weight the steering vector for the index of the strongest beam with the determined complex amplitude of the strongest beam and subtract it. Subtraction of the target signal in principle eliminates all sidelobes that it produces also. The ultimately achievable contract depends on how accurate the subtraction of the strongest signal can be. Limiting factors to accuracy are:

(i) Quantization of the target position in (u,v) space.

(ii) Position and amplitude corruption due to another strong nearby overlapping target.

(iii) VRX antenna and processing channel mismatches that are not modeled in the subtracted steering vector; particularly mismatches that depend on the antenna look-angle, i.e. on (u,v).

(iv) Position distortion caused by the use of transmit or receive nulling.

Noise is not so much of an issue in causing subtraction errors, because the error is only of the order of the noise level. Only weak signals will have significant noise-induced subtraction errors, but their importance is diminished in proportion to the signal strength.

The above limitations will be addressed one by one with explanation of the steps that can be taken to minimize the errors.

Quantization of the target position estimate arises due to computing beams only at a limited number of equal steps of (u,v). If steps of u,v are such that several beams are computed within the −3 dB beamwidth of the array, the beams are said to be spatially oversampling. With a modest amount of oversampling, such as between 2:1 and 3:1 the target position may be determined more accurately by interpolation between adjacent beam values. However, given the extremely large number of beamformings that have to be done, the consequent short time available for each, and consideration of how to design chip hardware for parallel processing, a different method called “zoom beamforming” has been developed which seems more practical in the circumstances. Zoom beamforming comprises utilizing the cyclic shift properties of (U,V) space to shift the radar image such that the strongest identified target appears at (u,v)=(0,0), and then to perform a zoomed-in beamforming around a small area centered on (0,0) with much finer steps. The target is centered on (0,0) by multiplying the VRX values by the steering vector used for its beam, thus removing the VRX phases such that a new beamforming on the shifted VRX values will find the target with a zero-phase steering vector, which corresponds to (u,v)=(0,0). The new beamforming is performed with steering vectors computed in very much finer steps of (U,V) for example, 256 steps of u and 32 steps of v but with the step size reduced by a factor 8.

To prepare for zoom beamforming, the value of w defined above by:

4ω=−271(16Naz) is precomputed and stored in even finer steps such as given by ω=−2π(128Naz), where only every 8th value is used in normal beamforming, but every value is used in fine beamforming. Thus, if NAZ=256, a table of 32,768 values of ω is precomputed and stored, at least for a software implementation such as would be used for simulation.

Commonly owned U.S. patent application Ser. No. 17/582,359, entitled “N-point Complex Fourier Transform Structure having only 2N Real Multiplies, and other Matrix Multiply Operations,” describes a fully parallel engine that can be constructed on a silicon chip to perform all operations in parallel related to multiplication of a complex vector by a complex matrix, the elements which are complex exponentials. In the beamforming application, the matrix is indeed a matrix of steering vectors which are complex exponentials of antenna phases needed to create beams in each desired direction in (u,v) space. This application is hereby incorporated by reference herein in its entirety. In the Application, it is described how in parallel to compute the product of an 8,192×256 complex matrix with a 256-element complex vector to obtain an 8192 complex result in as little as 2 ns. In this application, the 256-element vector is the set of 256 VRX signal values corresponding to one range-Doppler bin. The complex matrix is a set of 8129, 256-element steering vectors, each element which is the complex exponential of a phase. The beamforming engine starts by using serial arithmetic to stream the 256 VRX values through a serial adder tree that computes all 256 possible combinations of 8 VRX signals at a time, where a combination comprises either adding a VRX signal to the combination or not, a binary choice. It is shown in the incorporated application how this may be done with one serial adder per desired combination by computing them in Grey-Code order whereby only one of said binary choices is changed from one combination to another. There are 32 such adder trees to deal with all 256 VRX signals, each producing a digital result serially on 256 serial lines, a total of 8192 serial lines.

The 8129×256 complex matrix comprises cosines and sines which range from −1 to +1. To eliminate minuses, 1 is added to all cosine or sine components and then the result divided by two so that every real and imaginary part lies between 0 and 1. This is equivalent to adding a matrix of all 1's to the real parts and likewise to the imaginary parts, and to compensate for that in the final product, the sum of all real parts of the VRX vector must be subtracted from the real part of every result and the sum of the imaginary parts of the VRX vector must be subtracted from the imaginary part of the result, which is done on-the-fly in parallel using single-bit serial adders.

The binary bit pattern of each now always positive matrix value is now examined and a row of bits of like significance through the matrix shall multiply the VRX vector. Taking 8 bits a time, the result of multiply that with 8 VRX values is already available on one of the 8,192 serial lines formed with binary choices corresponding to whether a VRX value is added or not that matched the 8-bit pattern. Thus, a serial adder is placed on the crossover of the appropriate serial line to pick up that partial product and connect it to the partial products selected by the other 31 groups of 8 matrix row bits.

After performing the above for each row of matrix bits of different significance the results must be added with a shift corresponding to the matrix bit place significance. Where this scheme achieves it efficiency over conventional matrix-vector multiplication is by delaying combining the partial products from each multiplication, combining partial products of the same significance form each multiplication, and delaying combining partial products of different significance until the end. The latter step, equivalent to a shift and add multiplication, means that in effect the matrix-vector multiplication is performed using only one multiplication per output value.

Having obtained 8,182 output values, that with the largest magnitude must be identified, which requires forming the sum of the squares of the real and imaginary parts of each value. To do this, a serial squaring circuit may be used as shown in FIG. 54.

Suppose we have the square of an X received bit serially up to bit i so far, in other words

S _(i) =X ² _(i)=(a _(i) ,a _(i−1) . . . a ₂ ,a ₁)².

To account for place significance, the convention for where the binary points are is:

Xi is less than 1, i.e. it is 0. a_(i)a_(i−1) . . . a₂,a₁.

Since the square of something less than 1 is less than 1 too, and has twice as many bits,

S_(i)=0. s_(2i) s_(2i−1) . . . s₂ s₁

Now we receive bit a_(i+1) and we want to update to S_(i+1) The update is:

X _(i+1)=½X _(i)+1/2a _(i+1).

e.g. if a_(i+1)=1, X_(i+1)=0. 1 a_(i)a_(i−1) . . . a₂a₁

or if a_(i+1)=0, X_(i+1)=0. 0 a_(i)a_(i−1) . . . a₂a₁

S _(i+1)=1/4Si+¼a _(i+1)+½a _(i+1) X _(i),

which means:

-   -   Step1: Shift right a_(i+1) one place into both Si and X_(i) to         get X_(i+1) and ½ Si+½ a_(i+1).     -   Step2: If a_(i+1)=1, add X_(i) to the above and shift right         again.

The above is performed by the register structure of FIG. 54.

There is at the top a 16-bit register (4000) to receive X serially, LSB first. Below that is the same register, just showing the contents after the new bit a_(i+1) is shifted in. At the bottom there a 32-bit register (4001) to receive S, the square of X. The register above that is the same register just showing the new bit a_(i+1) shifted in. Between the two is a 16-bit adder (4002) that adds the old X to the shifted S. There may be a carry, which goes into the MSB of the square register (4001). The result is shifted back into the square register to be the updated square. Although this could all be done in one clock cycle per bit in principle, because the S-register is updated twice per new bit input, it may have to run at half speed. However, of the 32 clock cycles needed to square a 16 bit value, there is a 16-clock overlap with the beamformer so the squarer adds only 16 more clock cycles.

EXAMPLE

Suppose we have received 111 so far so Xi=0.111 “7”

and Si will be 0.110001 “49”

Now we receive another “1”: Shift it into both:

X -> 0.1111  “15” S -> 0.1110001 add original X 0.111 1.1100001 Shift right 1 0.11100001 “225” The procedure works for 1's complement negative numbers with a small error: We get the square of X+1 instead e.g. the square of −1

1111111111111111 is 0000000000000000 (zero instead of 1).

This error is likely tolerable given that we only want to identify the strongest target, and even the second strongest will suffices if it is as close as 1 LSB.

The method can be extended to the sum of squares as follows:

Let X be received bit serially LSB first as a1,a2,a3, etc., and suppose bit as has already been processed. Likewise, Y is received bit serially as b1, b2, b3, etc., and b_(i) has already been processed.

Let Si be X²+Y² up to the ith bits a_(i) and b_(i) Then:

X_(i + 1) = 1/2a_(i + 1) + 1/2X_(i) Y_(i + 1) = 1/2b_(i + 1) + 1/2Y_(i) S_(i + 1) = 1/4S_(i) + 1/4a_(i + 1) + 1/4b_(i + 1) + 1/2a_(i + 1)X_(i) + 1/2b_(i + 1) + Y_(i) = 1/4S_(i) + 1/4a_(i + 1)X_(i) + 1/4b_(i + 1)Y_(i) + 1/4a_(i + 1)X_(i + 1) + 1/4b_(i + 1)Y_(i + 1)

This translates to the following sequence: Since the sum of two squares, each being less than 1, can be greater than 1, Si now has one bit extra (carry bit) to the left of the binary point. Clock1: Load a_(i+1) into the carry bit of the X_(i) register; Load b_(i+1) into the carry bit of the Y_(i) register; Apply a_(i+1) .AND. X_(i) to a first input of a 3-way adder; Apply b_(i+1) .AND. Y_(i) to a second input of the 3-way adder with S_(i) being the 3rd input, the adder having 2 carries Shift right Xi,Yi and Si, clocking the adder output, including both carries into Si plus its extra carry bit. Let the adder ripple through again, now adding Xi and Yi to the Si register and generating up to 2 carries. Clock 2: Shift the adder output right into Si plus its carry bit to get the answer s.ssssss . . . s which will be 33 bits long if X and Y were each 16 bits long. Suppose we have received 3 bits so far, with

Xi = 0.111 7 Yi = 0.101 5 Si = 1.001010 25 + 49 = 74 Suppose now the next bits a4 and b4 of X and Y are both 1

Xi -> 1.111 Yi -> 1.101 Si 1.001010 old Xi +.111 old Yi +.101 10.101010 Shift right into S 1.010101 Shift Xi to get X_(i+1) 0.1111 15 Shift Yi to get Y_(i+1) 0.1101 13 Sum 11.0001010 Shift right to get S_(i+1) 1.10001010 225 + 169 = 394 Doing the sum of squares simultaneously thus only needs a single output register and effectively both squares are computed and added in parallel.

Having obtained the squared magnitudes of each beam, it is desired to know which is the largest. For this purpose, the square registers are read out MSB first into a magnitude comparator. A magnitude comparator determines which value presented serially MSB first is the first to be binary 1 while the other is binary 0. This is described in expired patent U.S. Pat. No. 5,187,675, and entitled “Maximum Search Circuit,” which is hereby incorporated by reference herein. The circuit also includes traceback to yield the index of the value, which was the largest, as required for the current application. This circuit may also be adapted to output the complex value of largest magnitude, by propagating the complex values that were deemed to give the largest sum of squares at each comparison through the tree to the comparator tree output. According to the index, the un-weighted VRX signals are then multiplied by an associated steering vector to shift the radar image to centralize the largest target on (u,v)=(0,0). The centralized VRX values are then applied to the fine beamformer which is constructed similarly to the coarse beamformer but using steering vectors that are in much finer angular steps, and there are not so many of them. The fine beamformer therefore occupies only a fraction of the chip area taken by the coarse beamformer and operates in parallel to fine beamform the previously found target in a range-Doppler bin while the coarse beamformer is working on a different set of VRX values corresponding to a different range-Doppler bin. The fine-beamformer operates on VRX values that are not weighted by Gplus or Gminus, but rather shifted by the centralization operation.

The centralization operation requires multiplication of the 256 complex element VRX signal set with a 256-element complex steering vector. For this purpose, a fully parallel set of 256 complex multipliers is made available and used for various purposes, including multiplying the VRX signals with the 256-element (real) vectors Gplus and Gminus prior to application serially to the beamforming.

The beamformer shall actually beamform the VRX signals using Gplus weights and again using Gminus weights in separate operations and subtract the magnitude of one from the other. This requires a square root operation to be performed after the sum of squares operation. It is well known how to perform a square root operation on a binary value to yield a binary word of half the length in bits. Therefore, although the sum of squares operations doubles the word length, the square root operation halves it again. The square root circuit operates on serial data most significant bit first, as does the magnitude comparator, therefore registers are needed to store sum-of-square values in order to reverse the direction from LSB first to MSB first.

The square root operation is needed only every two coarse beamformings. The various operations of weighting with Gplus or Gminus, coarse beamforming, squaring, square-rooting, centralization and fine beamforming may be overlapped as between different VRX sets and pipelined so as maximize throughput.

The output for fine beamforming is a refined position index of the strongest target and its complex echo value made with unweighted data. The fine steering vector for the refined position is obtained for example from a look up table. The fine steering vector is modified by combining it with any amount of nulling signal that was added to each transmitter to model the transmit codes combined with nulling signals that were transmitted, if nulling is in use, and then the phase and amplitude of each VRX component is adjusted by calibration factors that were predetermined during radar calibration to model uncorrected VRX phase and amplitude mismatches. The calibration of a radar determines calibration factors for each Tx and Tx averaged over all (U,V) and are combined to produce an average VRX calibration factor. These calibration factors are removed early in the processing chain, at least before coarse beamforming.

Now that the position of a target is known, the residual calibration factors for VRXs for the particular (u,v) sector in which the target lies can be applied to the steering vector to obtain the most accurate representation of what was transmitted. Then the steering vector, so modified by nulling signals and sector-wise VRX calibration is multiplied by the determined complex echo amplitude and subtracted from the VRX signals applied to the fine beamformer to subtract the just-found target's contribution as accurate as possible, and with it, all sidelobes and grating lobes of sparse beamforming.

An alternative is to apply the residual VRX calibration factors, that depend of the (u,v) of the target found from coarse beamforming, to the unweighted VRX values prior to fine beamforming; however, they must still be applied also to the steering vector for the fine position found from fine beamforming in determining the subtraction signal.

As a result of pipelining, it is possible that a first stage of subtraction is done for all range-Doppler bins of interest leaving in them modified sets of VRX signals with the strongest signal now gone. The set, or a further sparsification thereof, is then passed through the entire chain again to determine and subtract second-strongest targets, and so forth until all targets of significance have been located in the four dimensions of range, Doppler, azimuth and elevation.

The importance of obtaining fine positions for accurate subtraction is illustrated with the aid of FIG. 55. In FIG. 55, the black curve (1) is the true, unquantized target beam shape. The vertical red lines (3) represent the angle to which the target's beam peak can be quantized. The true peak (2) lies midway between two quantizing levels and is quantized to the nearest quantizing level (4). The subtraction signal beam shape is indicated by dotted line (5) which is misaligned with the true target beam shape due to the position quantizing error. Thus, it is too high on the left, giving to error (6) and too low on the right, but matches quite well in the middle. Therefore, subtraction will subtract out the center of the beam but leave two residual errors on either side of the beam. This can clearly be seen from FIG. 56. FIG. 56 is derived from FIG. 42 by localizing and subtracting the strong target at the center. It can be seen that the sidelobe background has been reduced substantially, but the target has left two residuals of subtraction on either side of its true location, and faint pairs of residuals of other sidelobes that were likewise imperfectly subtracted may be seen.

Although it was mentioned that, if transmit nulling is used, the actual subtracted signal should include the nulling signal combined with the transmitter signals, there is still a potential position error caused when a wanted target is close to a null. A simulation has determined the position error versus proximity of the target to a null and true and apparent position are compared in FIG. 57 versus target-to-null spacing. It can be seen that the apparent target position displays a kink as the target passes through the null. The kink is shown magnified in FIG. 58. The apparent target position tends to come to a halt on one side of the null and the rapidly jump to the other side as the target emerges from the null. It is straightforward to model this, however, when the return actually passes through the null, given that it now has the same range, Doppler and bearing as the oncoming radar that the null is aimed to protect, it may be assumed that it IS the oncoming radar and thus has coordinates equal to the null. Moreover, the echo is so attenuated when the target is very close to null it is unlikely to be high up on the strong targets to be subtracted.

FIG. 59 illustrates that exactly the same distortion arises from creating a receive null to protect our radar from oncoming interfering radars.

FIG. 60 illustrates the effect of both a receive and transmit null in the same location. The only difference between a transmit or receive null alone is that the kink is a little sharper.

FIG. 61 illustrates that the kink is not at all noticeable on the macro scale of (u=−1 to +1 corresponding to azimuth −90 to +90 degrees and beam index 0 to 1024 which is used on the vertical scale. The target is at u=0, azimuth=0 and beam index 511.

FIG. 62 shows more detail of the arrangement for compensating the subtraction signal for nulling. A nulling arrangement (5000) as previously described illuminated the environment except for a selected null position. A receive processing chain (5003) as previously described receives, down converts, correlates, Doppler analyzes and beamforms the echo signals received. After beamforming determines the fine target position, the steering vector corresponding to that position and weighted with the determined complex target amplitude synthesizes the VRX signal for which the target is responsible in unit 5001, without taking the null into account. The nulling subtracted in the transmitter (5000) is then also subtracted from the synthesized VRX signal in unit 5002 before subtraction from the received VRX signal, the residual then being fed back into the beamformer (at some later stage due to the pipelining mentioned above) to remove the just-detected target.

Another mechanism for target position error is when two targets are so close that their beams partially overlap. At some point it would be expected that a radar might interpret two very close targets of equal amplitude as a single target midway between the two. FIG. 63 shows the apparent positions estimated for two equal and out-of-phase targets as one passes through the other. There is not much distortion until they are within about −0.65 degrees of each other, which is of the order of ¼ of the −3 dB beamwidth. Because the targets are nominally equal, one may be detected first and subtracted before detecting the other, or vice versa. They were interpreted to be a single target only at complete coincidence. The effect varies significantly with relative phase amplitude, but it can be deduced, given two apparent target positions (u1,v1) and (u2,v2) and their measured apparent complex signal strengths, that the actual positions are different than (u1,v1) and (u2,v2) by amounts along the line joining (u1,v1) and (u2, v2) depending on the complex amplitude ration. Therefore, it is proposed to coarsely quantize the amplitude ratio, maybe in dB and radians, and to address a look-up table with (u1−v1,u2−v2) and the coarsely quantized amplitude ration to determine position and amplitude corrections to be applied to compensate. This table would be assembled by simulation and built into an integrated circuit in the product.

Because subtraction residuals may be larger than a weak target, they can be detected as false targets and subtracted before the weak target's turn to be the strongest beam. As it can be difficult to discriminate between such a false target and a weak target close to a strong target, it is desirable to reduce these residuals.

A method of reducing residuals caused by two or more nearby signals causing amplitude, phase and position estimation error is multipass subtraction, after subtracting a second strong target, the amount subtracted for a first strong target is added back and its position and complex amplitude estimated again, now with the second target gone. After subtracting the new estimate, the amount of second target subtracted can be added back and it re-estimated again. Such backtracking can be done to any depth for which computational resources suffice. Ultimately “joint detection” of multiple targets comprises finding the smallest number of target positions and amplitudes that jointly explain the received VRX signals to an accuracy approaching the noise level. Joint detection is computationally burdensome and can be done in increasing stages, where the strongest first detected, subtracted and second strongest signal identified. Then, using those clues as an initial starting point, a joint detection iteration optimizes their two amplitudes and positions to minimize the residual energy when they are subtracted. Then a third signal is identified, and so forth. By simulation it was verified that iterative multipass subtraction converged to the joint-detection result. Joint detection may be simplified by noting that, given a hypothesis of target positions, their amplitudes that minimize the residual can be analytically determined and substituted to obtain the lowest possible residual for those target amplitudes. The positions are then searched by any means, such as Monte-Carlo or steepest descent method using gradients, to obtain the optimum positions.

Accordingly, an exemplary radar system includes any combination of advanced features including use of sparse arrays with sidelobe-reduction beamforming techniques; dual polarization for interference mitigation; transmit or receiver null-steering, or both, to improve mutual interference and frequency hopping for increasing range resolution, and improved mutual interference characteristics by clash detection.

Changes and modifications in the specifically-described embodiments may be carried out without departing from the principles of the present invention, which is intended to be limited only by the scope of the appended claims as interpreted according to the principles of patent law including the doctrine of equivalents. 

The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:
 1. An radar sensing system comprising: a transmitter configured to transmit radio signals; a dual-polarized receiver configured to receive radio signals of two polarizations that include (i) the transmitted radio signals transmitted by the transmitter and reflected from objects in an environment, and (ii) other radio signals that include radio signals transmitted by at least one other radar sensing system; wherein the dual-polarized receiver is configured to process the received radio signals of both polarizations and to segregate wanted targets from interference by using polarization differences.
 2. The radar sensing system of claim 1, wherein the dual-polarized receiver is configured to segregate received signals by direction of arrival and adapted to perform said segregation by polarization differences separately for each direction of arrival.
 3. The radar sensing system of claim 1 further comprising a receive antenna array communicatively coupled to coarse beamforming to perform the segregation by direction of arrival.
 4. The radar sensing system of claim 1, wherein the dual-polarized receiver is configured to separate received signals into spectral components, and further configured to perform the segregation by polarization differences separately for each spectral component.
 5. The radar sensing system of claim 1, wherein the dual-polarized receiver is configured to separate receive signals into spectral components and further into directions of arrival for each spectral component and configured to apply the segregation by polarization differences separately for each combination of a spectral component and a direction of arrival.
 6. The radar sensing system of claim 1, wherein the transmitter is configured for installation and use on a vehicle, and wherein the dual-polarized receiver is configured for installation and use on the vehicle.
 7. A radar sensing system comprising: a transmitter configured to transmit radio signals; a receiver configured to receive radio signals that include (i) the transmitted radio signals transmitted by the transmitter and reflected from objects in an environment; wherein the receiver is configured to reduce interference to wanted signals by separating received signals by any combination of the domains of polarization, direction of arrival and frequency components using reversible transforms, further configured to null or deemphasize separated components deemed to contain interference and then to recombine the remaining separated components using reverse transforms for further processing to detect radar targets.
 8. The radar sensing system of claim 7, wherein the transmitter and receiver are configured to transmit and receive alternately in bursts, wherein the separation of received signals in multiple domains with interference reduction per separated component being adapted on a per burst basis.
 9. The radar sensing system of claim 7 comprising a plurality of transmitters and a plurality of receivers, wherein the plurality of receivers are configured to reduce interference to other non-collaborating radars of the same or different design, wherein each transmitter of the plurality of transmitters is configured to transmit the combination of a coded transmitter signal unique to each transmitter and a nulling signal.
 10. The radar sensing system of claim 9 further comprising a first calculating unit configured to estimate composite interference from the transmitters that would be received at a number of desired null positions, and a second calculating unit configured to calculate, based the estimated interference signals, the nulling signals to be combined with each transmitter's uniquely coded signal so that the composite interference received in each of the null directions is nominally zero.
 11. The radar sensing system of claim 9 comprising a receive antenna array communicatively coupled to each receiver of the plurality of receivers, wherein the plurality of receivers are each configured to process the received signals to combine the received signals from the antenna array to produce receive nulls in specific directions from which interference may be received.
 12. The radar sensing system of claim 11, wherein each of the plurality of receivers is configured to downconvert the received radio signals.
 13. The radar sensing system of claim 7, wherein the transmitter is configured for installation and use on a vehicle, and wherein the receiver is configured for installation and use on the vehicle.
 14. An automotive radar device adapted to operate in a MIMO mode, comprising: a plurality of transmitters communicatively coupled to associated transmit antennas and configured to transmit a sequence of I,Q samples generated by a transmit modulation generator, the sequence of I,Q samples for each transmitter having one or more different distinguishing features; a plurality of receivers communicatively coupled to associated receive antennas and configured to receive radio signals that include transmitted radio signals transmitted by the transmitters and reflected from objects in an environment; a virtual receiver (VRX) processing module configured to correlate each of the receive signals with each of the transmitter I,Q sequences to produce a plurality of VRX signals for each of a number of delays between the transmitter IQ signals and the receive signals; each VRX signal having apparently been received from a virtual antenna having coordinates equal to the sum of the underlying transmit antenna coordinates and the underlying receive antenna coordinates, the virtual antennas forming a virtual antenna array (VRX array); a Doppler processing module configured to process each of the VRX signals as it changes from time to time to determine for each of the VRXs and each delay a number of Doppler frequency amplitudes; and a digital beamforming module configured to jointly process the VRX signals corresponding to the same Doppler frequency and delay to further segregate signals by angle of arrival, wherein digital beamforming module is configured to reduce the sidelobes of the VRX array when the VRX array is a sparse array.
 15. The automotive radar of claim 14 in which the sequences of IQ samples transmitted by the transmitters represent a signal modulated with a digital code, wherein the code bits are different for each transmitter.
 16. The automotive radar of claim 14 in which the sequences of IQ samples transmitted by the transmitters represent a signal offset in frequency by a frequency hopping offset valid for a burst time period and varying between different burst time periods.
 17. The automotive radar of claim 14, wherein the transmitters are configured for installation and use on a vehicle, and wherein the receivers are configured for installation and use on the vehicle. 